本文轉貼自PTT
台灣最大的本土社群網站
分享這篇文章到Facebook、Google+或噗浪!


 作者  Azraelx (勝敗乃兵家之常事)                                 看板  Linux 
 標題  [問題] Ubuntu安裝usb有線網卡                                           
 時間  Sun Jun 10 20:57:21 2012                                               
───────────────────────────────────────

我的作業系統為Ubuntu 12.04 在安裝usb有線網卡時出現了一些問題

usb網卡是Uptech USB Net 100 - Davicom Semiconductor dm9621

lsusb的資訊: Bus 001 Device 003: ID 0a46:9621 Davicom Semiconductor, Inc.

我透過以下兩種方式安裝驅動程式都失敗了 ifconfig都看不到該網卡

希望各位先進能看看是否少做了或做錯了什麼並給我一些建議

1. 利用linux driver進行make

1.1 安裝build-essential linux-header linux-headers-3.2.0-24-generic

1.2 下載linux driver

(http://www.meworks.net/userfile/24247/dm9601-Linux2.6_1_1.tar)

1.3 untar後進行make
make時出現的錯誤訊息:
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-24-generic'
  CC [M]  /data/software/uptech-Net-100-USB/dm9601/dm9601.o
/data/software/uptech-Net-100-USB/dm9601/dm9601.c: In function 「ctrl_callback
」:
/data/software/uptech-Net-100-USB/dm9601/dm9601.c:166:4: 錯誤: 隱含宣告函式
「warn」 [-Werror=implicit-function-declaration]
/data/software/uptech-Net-100-USB/dm9601/dm9601.c: In function 「
write_bulk_callback」:
/data/software/uptech-Net-100-USB/dm9601/dm9601.c:527:3: 錯誤: 隱含宣告函式
「info」 [-Werror=implicit-function-declaration]
/data/software/uptech-Net-100-USB/dm9601/dm9601.c: In function 「
dm9601_tx_timeout」:
/data/software/uptech-Net-100-USB/dm9601/dm9601.c:599:32: 錯誤: 「struct
net_device」 沒具名為 「priv」 的成員
/data/software/uptech-Net-100-USB/dm9601/dm9601.c: In function 「
dm9601_start_xmit」:
/data/software/uptech-Net-100-USB/dm9601/dm9601.c:615:32: 錯誤: 「struct
net_device」 沒具名為 「priv」 的成員


因為一直make 不成

-------------------------------------------------------------------------

後來解決了 自問自答一下 希望能幫助以後使用Ubuntu及這張卡Davicom dm9621的人

推測原因是因為該driver是寫給linux kernel 2.6

而我的ubuntu 12.04是3.2.0-24-generic

兩者的struct net_device不同導致make一直失敗

後來是改code解決


總結一下完整安裝的動作(Davicom dm9621 for Ubuntu 12.04 - 3.2.0-24-generic):

0. 安裝build-essential linux-header linux-headers-3.2.0-24-generic
   若uname -r是3.2.0-24-generic應可跳過此動作
指令:
  sudo apt-get install build-essential
  sudo apt-get install linux-headers-3.2.0-24-generic

PS: 3.2.0-24-generic要換成uname -r的結果

1. 下載驅動程式 Linux_DM962x_3.2.tgz
載點: https://docs.google.com/open?id=0B4olhlmUc9AFY0VRc0dMd0w1UzQ

2. 解開打包
指令: tar xzvf Linux_DM962x_3.2.tgz

3. 切入該目錄
指令: cd Linux_DM962x_3.2

4. 建立.ko檔 若uname -r是3.2.0-24-generic應可跳過此動作
指令: make

5. 安裝ko檔
指令: sudo cp dm9620.ko /lib/modules/3.2.0-24-generic/kernel/drivers/net/usb

6. 掛上usbnet模組
指令: sudo modprobe usbnet

7. 掛上dm9620.ko模組
指令: sudo insmod dm9620.ko

完成!! 接著網卡就能用了 ya

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.233.218
※ 編輯: Azraelx         來自: 123.193.233.218      (06/11 22:46)
※ 編輯: Azraelx         來自: 123.193.233.218      (06/11 22:54)
推 trunone:你是在Ubuntu-tw貼解法的那個大大嗎?感謝啦 XD            06/13 21:34
→ Azraelx:不客氣XD                                                06/13 22:59


----本文使用PCMAN+BBI轉貼----


※ 新版PCMAN開放測試中,新增功能:    



用PCMAN+BBI連回PTT原文