測試反映裝置dhcp不可用。這可是相當嚴重的乙個問題,對此,我不得不重視起來。本以為是很簡單的乙個問題,沒有想到,來來回回的折騰了半天多。
在我們的裝置中採用命令工具udhcpc 自動獲取ip 位址,當使用者設定動態獲取ip後,裝置啟動時,會呼叫udhcpc命令。
首先,我從列印分析開始, 以下是執行命令後給出的列印。
udhcpc (v0.9.9-pre) started
jan 1 00:36:44 udhcpc[694]: udhcpc (v0.9.9-pre) started
mjan 1 00:36:44 udhcpc[694]: [truncated] m
從列印上看,在剛開始執行時就得到乙個中斷錯誤truncated,在網路上以相關關鍵字,dhcp + udhcpc + truncated 查詢,均得不到有用的資訊。但在查詢的過程中,對udhcpc命令有了更進一步的認識。
我猜測有問題的地方可能出錯地方有三處:1 udhcpc 命令有問題 2 busybox 3 核心。
首先從猜測點1 開始排查,拷貝一朋友可用的udhcpc檔案到我們的系統中(開發環境相同),發現還是給出相同的錯誤提示。此時我估計著可能是busybox 和核心 有問題。
如果是busybox和核心的問題,對我來說,排查起來,更是無從下手。想了想,決定還是從udhcpc著手,udhcpc 是乙個開源的軟體, 我可以從原始碼上分析到底是哪一步出錯。
一步步的定位分析, 最終定位到錯誤處。
if ((fd = socket(pf_packet, sock_dgram, htons(eth_p_ip))) < 0)
加上錯誤列印perror("create socket failed");
最終確認錯誤原因address family not supported by protocol.
再次google之, 有人給出捍示可能是核心時編繹選項config_packet沒有選上
於是去編繹核心檔案,果然,config_packet沒有勾選上。
重新編繹核心,裝置公升級核心,dhcp測試ok,完成。
開發板 2440開發板
開發板 2440 開發板coall2440 開發板 高效能 samsung s3c2440a 處理器開發板 小區智慧型開發板 樓宇對講開發板 三星 2440 開發板 珠三角電子開發 小型終端開發板 手持裝置開發方案 編譯碼 2440 開發板 深圳 2440 開發板 單片板 硬體主機板 硬體底板 jt...
串列埠除錯助手連線開發板除錯
要串列埠助手連線開發板除錯,需要三個部分。分別是 串列埠除錯助手,usb轉串列埠 ttl 開發板。串列埠助手使用sscom,usb轉串列埠比較多,開發板也有不同種類。這是我的第一篇文章 明天再補充完整 以後會把學到的東西記錄下來。這是乙個電腦上的軟體,用於把需要傳送的資料發通過 usb轉串列埠 傳送...
開發板學習筆記
開發板linux整個燒錄包括以下步驟 u boot 啟動程式 當你拿到一塊開發板時,如果連uboot都沒有,那就可以稱為裸機,無法執行,這時我們需要使用jlink連線開發板的jtag口和電腦usb口來進行uboot燒錄。uimage 核心 當你燒寫好uboot後,那麼uboot需要載入linux的核...