usb网卡,究竟要怎么样编译驱动程序?

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
york824
帖子: 965
注册时间: 2007-11-07 22:01

usb网卡,究竟要怎么样编译驱动程序?

#1

帖子 york824 » 2013-05-17 21:03

装了台式机,买了USB网卡,发现不兼容Linux系统。

lsusb后查到是0bda:8179这个设备

一番google,找到这个帖子:viewtopic.php?f=116&t=387810&start=0

里面提到rtl8188eu这个驱动可以编译安装,在这里:
https://github.com/Red54/linux-shumeipa ... /rtl8188eu

然后我就一筹莫展了,上面这个网页也没发现可以下载的按钮,完全不知道怎么操作。之前好几台笔记本从来没有操心过驱动的问题,这下一下子傻眼了……

请教一下各位,具体要怎么操作才能编译上这个驱动呢?我看了国外论坛的那个帖子,也没有提到怎么搞,大概大家都是熟手吧……
york824
帖子: 965
注册时间: 2007-11-07 22:01

Re: usb网卡,究竟要怎么样编译驱动程序?

#2

帖子 york824 » 2013-05-17 21:29

找到了另外一个地方提供8188eu的驱动的,这里:

http://gutspot.com/wp-content/uploads/2 ... _linux.zip

下载之后解压,然后按照网页上所说,运行make,出现一堆错误:
make[1]: Entering directory `/usr/src/linux-headers-3.8.0-19-generic'
CC [M] /home/zhangyou/Desktop/8188eu_USB_linux/driver/rtl8188eu/core/rtw_cmd.o
gcc: error: unrecognized command line option ‘-mlittle-endian’
gcc: error: unrecognized command line option ‘-mapcs’
gcc: error: unrecognized command line option ‘-mno-sched-prolog’
gcc: error: unrecognized argument in option ‘-mabi=apcs-gnu’
gcc: note: valid arguments to ‘-mabi=’ are: ms sysv
make[2]: *** [/home/zhangyou/Desktop/8188eu_USB_linux/driver/rtl8188eu/core/rtw_cmd.o] Error 1
make[1]: *** [_module_/home/zhangyou/Desktop/8188eu_USB_linux/driver/rtl8188eu] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.8.0-19-generic'
make: *** [modules] Error 2
麻烦各位比较熟悉的帮帮忙好吗?先谢谢了!
linzz
帖子: 14
注册时间: 2012-02-11 12:47

Re: usb网卡,究竟要怎么样编译驱动程序?

#3

帖子 linzz » 2013-05-19 14:26

lz哪个发行版
头像
Cherrot
帖子: 981
注册时间: 2011-04-03 10:01
系统: Ubuntu 12.XX
来自: 帝都
联系:

Re: usb网卡,究竟要怎么样编译驱动程序?

#4

帖子 Cherrot » 2013-07-09 16:46

sudo?

如果不能用,有可能是内核太新所致,这个驱动在linux3.6及以下是可以正常使用的。
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.
26213926
帖子: 1
注册时间: 2013-05-30 12:28
系统: win7

Re: usb网卡,究竟要怎么样编译驱动程序?

#5

帖子 26213926 » 2013-07-20 2:38

的确是内核太新引起的,内核是3.8的,那有什么解决方案呢。
hhbhehongbo
帖子: 1
注册时间: 2013-07-29 20:41

Re: usb网卡,究竟要怎么样编译驱动程序?

#6

帖子 hhbhehongbo » 2013-07-29 20:55

楼主请参考这个:http://askubuntu.com/questions/290452/i ... ting-error

Realtek的驱动源码依赖的两个函数kernel_thread()和daemonize()在3.8+的内核中被移除了,导致编译失败。

github上面有人给出了新内核的8192cu驱动。我把这个驱动和Realtek官方的驱动,逐个文件对比,找出10个有改动的文件,两边对比更改,并把有关更改应用到8188eu的代码上面。成功编译,成功驱动。(压根没看懂代码,比葫芦画瓢改的)

我把我改的代码放到了github上,你可以clone或下载下来,然后再编译试下~我的内核版本3.9.5,没有问题的。

https://github.com/hehongbo/rtl8188eu_linux

成功了说一声啊。
foDDYY
帖子: 220
注册时间: 2005-05-19 9:47
联系:

Re: usb网卡,究竟要怎么样编译驱动程序?

#7

帖子 foDDYY » 2013-08-26 10:44

hhbhehongbo 写了:楼主请参考这个:http://askubuntu.com/questions/290452/i ... ting-error

Realtek的驱动源码依赖的两个函数kernel_thread()和daemonize()在3.8+的内核中被移除了,导致编译失败。

github上面有人给出了新内核的8192cu驱动。我把这个驱动和Realtek官方的驱动,逐个文件对比,找出10个有改动的文件,两边对比更改,并把有关更改应用到8188eu的代码上面。成功编译,成功驱动。(压根没看懂代码,比葫芦画瓢改的)

我把我改的代码放到了github上,你可以clone或下载下来,然后再编译试下~我的内核版本3.9.5,没有问题的。

https://github.com/hehongbo/rtl8188eu_linux

成功了说一声啊。
已经成功。多谢你的辛勤劳动。呵呵。

之前3.8.0.29仍然可以用原来的驱动编译成功,今天升级到3.8.0.30就不行了,也不报错,直接退出。用了你修改的驱动一次编译成功。另外,可有什么办法比较一劳永逸地解决这个问题?最近内核三天两头的更新,每次都要编译也是件麻烦事。
>>>>>>>>>>
人总得有点追求
<<<<<<<<<<
ex172000
帖子: 1
注册时间: 2013-08-28 19:57
系统: ubuntu 13.04

Re: usb网卡,究竟要怎么样编译驱动程序?

#8

帖子 ex172000 » 2013-08-28 20:00

foDDYY 写了:
hhbhehongbo 写了:楼主请参考这个:http://askubuntu.com/questions/290452/i ... ting-error

Realtek的驱动源码依赖的两个函数kernel_thread()和daemonize()在3.8+的内核中被移除了,导致编译失败。

github上面有人给出了新内核的8192cu驱动。我把这个驱动和Realtek官方的驱动,逐个文件对比,找出10个有改动的文件,两边对比更改,并把有关更改应用到8188eu的代码上面。成功编译,成功驱动。(压根没看懂代码,比葫芦画瓢改的)

我把我改的代码放到了github上,你可以clone或下载下来,然后再编译试下~我的内核版本3.9.5,没有问题的。

https://github.com/hehongbo/rtl8188eu_linux

成功了说一声啊。
已经成功。多谢你的辛勤劳动。呵呵。

之前3.8.0.29仍然可以用原来的驱动编译成功,今天升级到3.8.0.30就不行了,也不报错,直接退出。用了你修改的驱动一次编译成功。另外,可有什么办法比较一劳永逸地解决这个问题?最近内核三天两头的更新,每次都要编译也是件麻烦事。

3.8.0.29 怎么弄,我make & make install之后重启还是没什么反应啊。。。
foDDYY
帖子: 220
注册时间: 2005-05-19 9:47
联系:

Re: usb网卡,究竟要怎么样编译驱动程序?

#9

帖子 foDDYY » 2013-08-31 12:43

ex172000 写了:
foDDYY 写了:
hhbhehongbo 写了:楼主请参考这个:http://askubuntu.com/questions/290452/i ... ting-error

Realtek的驱动源码依赖的两个函数kernel_thread()和daemonize()在3.8+的内核中被移除了,导致编译失败。

github上面有人给出了新内核的8192cu驱动。我把这个驱动和Realtek官方的驱动,逐个文件对比,找出10个有改动的文件,两边对比更改,并把有关更改应用到8188eu的代码上面。成功编译,成功驱动。(压根没看懂代码,比葫芦画瓢改的)

我把我改的代码放到了github上,你可以clone或下载下来,然后再编译试下~我的内核版本3.9.5,没有问题的。

https://github.com/hehongbo/rtl8188eu_linux

成功了说一声啊。
已经成功。多谢你的辛勤劳动。呵呵。

之前3.8.0.29仍然可以用原来的驱动编译成功,今天升级到3.8.0.30就不行了,也不报错,直接退出。用了你修改的驱动一次编译成功。另外,可有什么办法比较一劳永逸地解决这个问题?最近内核三天两头的更新,每次都要编译也是件麻烦事。

3.8.0.29 怎么弄,我make & make install之后重启还是没什么反应啊。。。
1. 下载hhbhehongbo修改过的驱动
2. 解压后进入驱动所在目录,sudo make然后sudo make install。
3. 如果仍然不行,试试插拔无线网卡。我之前碰到过几次类似情况,插拔一下就可以了。
4. 如果还不行...我也不知道了。
>>>>>>>>>>
人总得有点追求
<<<<<<<<<<
kaiman
帖子: 127
注册时间: 2007-03-20 14:19

Re: usb网卡,究竟要怎么样编译驱动程序?

#10

帖子 kaiman » 2013-09-27 17:24

hhbhehongbo 写了:楼主请参考这个:http://askubuntu.com/questions/290452/i ... ting-error

Realtek的驱动源码依赖的两个函数kernel_thread()和daemonize()在3.8+的内核中被移除了,导致编译失败。

github上面有人给出了新内核的8192cu驱动。我把这个驱动和Realtek官方的驱动,逐个文件对比,找出10个有改动的文件,两边对比更改,并把有关更改应用到8188eu的代码上面。成功编译,成功驱动。(压根没看懂代码,比葫芦画瓢改的)

我把我改的代码放到了github上,你可以clone或下载下来,然后再编译试下~我的内核版本3.9.5,没有问题的。

https://github.com/hehongbo/rtl8188eu_linux

成功了说一声啊。
非常感谢,可是在13.10核心 3.11就不行了。
kaiman
帖子: 127
注册时间: 2007-03-20 14:19

Re: usb网卡,究竟要怎么样编译驱动程序?

#11

帖子 kaiman » 2013-09-27 18:26

foDDYY 写了:
hhbhehongbo 写了:楼主请参考这个:http://askubuntu.com/questions/290452/i ... ting-error

Realtek的驱动源码依赖的两个函数kernel_thread()和daemonize()在3.8+的内核中被移除了,导致编译失败。

github上面有人给出了新内核的8192cu驱动。我把这个驱动和Realtek官方的驱动,逐个文件对比,找出10个有改动的文件,两边对比更改,并把有关更改应用到8188eu的代码上面。成功编译,成功驱动。(压根没看懂代码,比葫芦画瓢改的)

我把我改的代码放到了github上,你可以clone或下载下来,然后再编译试下~我的内核版本3.9.5,没有问题的。

https://github.com/hehongbo/rtl8188eu_linux

成功了说一声啊。
已经成功。多谢你的辛勤劳动。呵呵。

之前3.8.0.29仍然可以用原来的驱动编译成功,今天升级到3.8.0.30就不行了,也不报错,直接退出。用了你修改的驱动一次编译成功。另外,可有什么办法比较一劳永逸地解决这个问题?最近内核三天两头的更新,每次都要编译也是件麻烦事。
我怀疑核心自带的驱动可以驱动8188eu只是ID识别上的问题,仅是个猜想,没时间精力去爬源码了。

代码: 全选

/usr/src/linux-headers-3.8.0-30/drivers/net/wireless$ ls -l rtl*/*/*
-rw-r--r-- 1 root root 143  2月 19  2013 rtl818x/rtl8180/Makefile
-rw-r--r-- 1 root root 130  2月 19  2013 rtl818x/rtl8187/Makefile
-rw-r--r-- 1 root root 177  2月 19  2013 rtlwifi/rtl8192ce/Makefile
-rw-r--r-- 1 root root 171  2月 19  2013 rtlwifi/rtl8192c/Makefile
-rw-r--r-- 1 root root 188  2月 19  2013 rtlwifi/rtl8192cu/Makefile
-rw-r--r-- 1 root root 187  2月 19  2013 rtlwifi/rtl8192de/Makefile
-rw-r--r-- 1 root root 188  2月 19  2013 rtlwifi/rtl8192se/Makefile
-rw-r--r-- 1 root root 277  2月 19  2013 rtlwifi/rtl8723ae/Makefile
另外一个磊科NW360可以直接用,芯片8191不是8192之类的吗?核心模块却看不懂r8712u是个fireware?

代码: 全选

lsusb
Bus 003 Device 002: ID 0bda:8172 Realtek Semiconductor Corp. RTL8191SU 802.11n WLAN Adapter

dmesg:

[   16.202154] r8712u: module is from the staging directory, the quality is unknown, you have been warned.
[   16.202603] r8712u: Staging version
[   16.202613] r8712u: register rtl8712_netdev_ops to netdev_ops
[   16.202614] r8712u: USB_SPEED_HIGH with 4 endpoints
[   16.202886] r8712u: Boot from EFUSE: Autoload OK
[   16.533071] r8712u: CustomerID = 0x000a
[   16.533076] r8712u: MAC Address from efuse = 08:10:77:28:4d:61
[   16.533078] r8712u: Loading firmware from "rtlwifi/rtl8712u.bin"
[   16.533153] usbcore: registered new interface driver r8712u
[   21.701585] r8712u: 1 RCR=0x153f00e
[   21.702227] r8712u: 2 RCR=0x553f00e

$ lsmod 
r8712u                187938  0 

血族使天
帖子: 173
注册时间: 2007-06-12 17:14

Re: usb网卡,究竟要怎么样编译驱动程序?

#12

帖子 血族使天 » 2013-10-14 20:11

hhbhehongbo 写了:楼主请参考这个:http://askubuntu.com/questions/290452/i ... ting-error

Realtek的驱动源码依赖的两个函数kernel_thread()和daemonize()在3.8+的内核中被移除了,导致编译失败。

github上面有人给出了新内核的8192cu驱动。我把这个驱动和Realtek官方的驱动,逐个文件对比,找出10个有改动的文件,两边对比更改,并把有关更改应用到8188eu的代码上面。成功编译,成功驱动。(压根没看懂代码,比葫芦画瓢改的)

我把我改的代码放到了github上,你可以clone或下载下来,然后再编译试下~我的内核版本3.9.5,没有问题的。

https://github.com/hehongbo/rtl8188eu_linux

成功了说一声啊。
openSUSE 3.7.10-1.16-desktop 安装成功。谢谢了
kaiman
帖子: 127
注册时间: 2007-03-20 14:19

Re: usb网卡,究竟要怎么样编译驱动程序?

#13

帖子 kaiman » 2013-10-29 18:24

kaiman 写了:
hhbhehongbo 写了:楼主请参考这个:http://askubuntu.com/questions/290452/i ... ting-error

Realtek的驱动源码依赖的两个函数kernel_thread()和daemonize()在3.8+的内核中被移除了,导致编译失败。

github上面有人给出了新内核的8192cu驱动。我把这个驱动和Realtek官方的驱动,逐个文件对比,找出10个有改动的文件,两边对比更改,并把有关更改应用到8188eu的代码上面。成功编译,成功驱动。(压根没看懂代码,比葫芦画瓢改的)

我把我改的代码放到了github上,你可以clone或下载下来,然后再编译试下~我的内核版本3.9.5,没有问题的。

https://github.com/hehongbo/rtl8188eu_linux

成功了说一声啊。
非常感谢,可是在13.10核心 3.11就不行了。
github上有更新的了,这个貌似更完美,通过firmware驱动估计可以并入核心了。


https://github.com/lwfinger/rtl8188eu

Ubuntu 13.10上 3.11的核心 构建过去了。

代码: 全选

vtar:/tmp/wifi/rtl8188eu-master$ make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.11.0-12-generic/build M=/tmp/wifi/rtl8188eu-master  modules
make[1]: 正在进入目录 `/usr/src/linux-headers-3.11.0-12-generic'
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_ap.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_br_ext.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_cmd.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_debug.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_efuse.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_ieee80211.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_io.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_ioctl_set.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_iol.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_led.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_mlme.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_mlme_ext.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_mp.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_mp_ioctl.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_pwrctrl.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_p2p.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_recv.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_rf.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_security.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_sreset.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_sta_mgt.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_wlan_util.o
  CC [M]  /tmp/wifi/rtl8188eu-master/core/rtw_xmit.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/HalHWImg8188E_MAC.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/HalHWImg8188E_BB.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/HalHWImg8188E_RF.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/HalPhyRf.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/HalPhyRf_8188e.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/HalPwrSeqCmd.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/Hal8188EPwrSeq.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/Hal8188ERateAdaptive.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/hal_intf.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/hal_com.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/odm.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/odm_debug.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/odm_interface.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/odm_HWConfig.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/odm_RegConfig8188E.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/odm_RTL8188E.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188e_cmd.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188e_dm.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188e_hal_init.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188e_mp.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188e_phycfg.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188e_rf6052.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188e_rxdesc.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188e_sreset.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188e_xmit.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188eu_led.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188eu_recv.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/rtl8188eu_xmit.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/usb_halinit.o
  CC [M]  /tmp/wifi/rtl8188eu-master/hal/usb_ops_linux.o
  CC [M]  /tmp/wifi/rtl8188eu-master/os_dep/ioctl_linux.o
  CC [M]  /tmp/wifi/rtl8188eu-master/os_dep/mlme_linux.o
  CC [M]  /tmp/wifi/rtl8188eu-master/os_dep/os_intfs.o
  CC [M]  /tmp/wifi/rtl8188eu-master/os_dep/osdep_service.o
  CC [M]  /tmp/wifi/rtl8188eu-master/os_dep/recv_linux.o
  CC [M]  /tmp/wifi/rtl8188eu-master/os_dep/rtw_android.o
  CC [M]  /tmp/wifi/rtl8188eu-master/os_dep/usb_intf.o
  CC [M]  /tmp/wifi/rtl8188eu-master/os_dep/usb_ops_linux.o
  CC [M]  /tmp/wifi/rtl8188eu-master/os_dep/xmit_linux.o
  LD [M]  /tmp/wifi/rtl8188eu-master/8188eu.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/wifi/rtl8188eu-master/8188eu.mod.o
  LD [M]  /tmp/wifi/rtl8188eu-master/8188eu.ko
make[1]:正在离开目录 `/usr/src/linux-headers-3.11.0-12-generic'
vtar:/tmp/wifi/rtl8188eu-master$ make install
install -p -m 644 8188eu.ko  /lib/modules/3.11.0-12-generic/kernel/drivers/net/wireless/rtl8188/
然后把firmware拷贝到/lib/firmware/rtlwifi/下 。
kaiman
帖子: 127
注册时间: 2007-03-20 14:19

Re: usb网卡,究竟要怎么样编译驱动程序?

#14

帖子 kaiman » 2013-11-01 16:59

挺让人困惑的,貌似系统的驱动支持8188eu

代码: 全选

vtar:/usr/src/linux-headers-3.11.0-12/drivers/net/wireless/rtlwifi$ head Kconfig 
menuconfig RTL_CARDS
	tristate "Realtek rtlwifi family of devices"
	depends on MAC80211 && (PCI || USB)
	default y
	---help---
	  This option will enable support for the Realtek mac80211-based
	  wireless drivers. Drivers rtl8192ce, rtl8192cu, rtl8192se, rtl8192de,
	  rtl8723eu, and rtl8188eu share some common code.

if RTL_CARDS
szhdqwc
帖子: 2
注册时间: 2013-11-02 19:35
系统: xp

Re: usb网卡,究竟要怎么样编译驱动程序?

#15

帖子 szhdqwc » 2013-11-02 20:05

我找到了一个8188eu驱动程序怎样才能添加到Linux系统求解谢谢!
回复