关于在2440上移植rtl8192和rtl8188cus linux驱动遇到的问题及解决方法!!!
很早就想在2440上移植无线网卡驱动了,在网上也看了不少相关的资料,但真正做起来才发现有不少问题。
一开始,我用从同学那里拿来的TL-WN725N(这卡便宜啊,50左右成交,TB上坑爹的2440无线网卡最低也要90+),但是不知为什么把驱动编译好了,插上网卡,执行insmod,再执行ifconfig wlan0 up时老出错。
root@VTK321 /(-_-!)>usb 1-1: new full speed USB device using s3c2410-ohci and ad
dress 2
usb 1-1: New USB device found, idVendor=0bda, idProduct=8176
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: 802.11n WLAN Adapter
usb 1-1: Manufacturer: Realtek
usb 1-1: SerialNumber: 00e04c000001
usb 1-1: configuration #1 chosen from 1 choice
root@VTK321 /(-_-!)>insmod 8192cu.ko
rtw driver version=v3.4.3_4369.20120622
Build at: Nov 30 2012 16:32:00
register rtw_netdev_ops to netdev_ops
CHIP TYPE: RTL8188C_8192C
usb_endpoint_descriptor(0):
bLength=7
bDescriptorType=5
bEndpointAddress=81
wMaxPacketSize=40
bInterval=0
RT_usb_endpoint_is_bulk_in = 1
usb_endpoint_descriptor(1):
bLength=7
bDescriptorType=5
bEndpointAddress=2
wMaxPacketSize=40
bInterval=0
RT_usb_endpoint_is_bulk_out = 2
usb_endpoint_descriptor(2):
bLength=7
bDescriptorType=5
bEndpointAddress=3
wMaxPacketSize=40
bInterval=0
RT_usb_endpoint_is_bulk_out = 3
usb_endpoint_descriptor(3):
bLength=7
bDescriptorType=5
bEndpointAddress=84
wMaxPacketSize=40
bInterval=1
RT_usb_endpoint_is_int_in = 4, Interval = 1
nr_endpoint=4, in_num=2, out_num=2
NON USB_SPEED_HIGH
Chip Version ID: VERSION_NORMAL_TSMC_CHIP_88C.
RF_Type is 3!!
EEPROM type is E-FUSE
====> ReadAdapterInfo8192C
Boot from EFUSE, Autoload OK !
EEPROMVID = 0x0bda
EEPROMPID = 0x8176
EEPROMCustomerID : 0x00
EEPROMSubCustomerID: 0x00
RT_CustomerID: 0x00
_ReadMACAddress MAC Address from EFUSE = ec:88:8f:bf:fa:e7
EEPROMRegulatory = 0x0
_ReadBoardType(0)
BT Coexistance = disable
RT_ChannelPlan: 0x02
_ReadPSSetting...bHWPwrPindetect(0)-bHWPowerdown(0) ,bSupportRemoteWakeup(0)
### PS params=> power_mgnt(1),usbss_enable(0) ###
### AntDivCfg(0)
readAdapterInfo_8192CU(): REPLACEMENT = 1
<==== ReadAdapterInfo8192C in 2165 ms
rtw_macaddr_cfg MAC Address = ec:88:8f:bf:fa:e7
MAC Address from pnetdev->dev_addr= ec:88:8f:bf:fa:e7
bDriverStopped:1, bSurpriseRemoved:0, bup:0, hw_init_completed:0
usbcore: registered new interface driver rtl8192cu
root@VTK321 /(-_-!)>
//------------------------------------------------------------------------------------------------------------------------------------------------------------//
root@VTK321 /(-_-!)>ifconfig wlan0 up
+871x_drv - drv_open, bup=0
===> FirmwareDownload91C() fw:Rtl819XFwImageArray_TSMC
FirmwareDownload92C accquire FW from embedded image
fw_ver=v80, fw_subver=0, sig=0x88c0
fw download ok!
Set RF Chip ID to RF_6052 and RF type to 1T1R.
IOL rtl8192c_IOL_exec_cmds_sync complete in 20ms
IOL rtl8192c_IOL_exec_cmds_sync complete in 20ms
IOL rtl8192c_IOL_exec_cmds_sync complete in 65ms
IOL rtl8192c_IOL_exec_cmds_sync complete in 60ms
IOL rtl8192c_IOL_exec_cmds_sync complete in 250ms
IQK:Start!!!
Path A Rx IQK fail!!
Path A Rx IQK fail!!
Path A IQK Only Tx Success!!
Path A Rx IQK fail!!
Path A Rx IQK fail!!
Path A IQK Only Tx Success!!
IQK: final_candidate is 0
IQK: RegE94=100 RegE9C=f RegEA4=0 RegEAC=0 RegEB4=0 RegEBC=0 RegEC4=0 RegECC=0
Path A IQ Calibration Success !
_PHY_PathAFillIQKMatrix only Tx OK
pdmpriv->TxPowerTrackControl = 1
MAC Address from REG_MACID = ec:88:8f:bf:fa:e7
rtl8192cu_hal_init in 1755ms
MAC Address = ec:88:8f:bf:fa:e7
-871x_drv - drv_open, bup=1
root@VTK321 /(-_-!)>==>pwr_state_check_handler .fw_state(0)
==> rtw_ps_cmd , enqueue CMD
==>rtw_ps_processor .fw_state(0)
==>ips_enter cnts:1
==>power_saving_ctrl_wk_hdl change rf to OFF...LED(0x00020808)....
===> rtw_ips_pwr_down...................
====> rtw_ips_dev_unload...
usb_read_port_cancel
usb_write_port_cancel
==> rtl8192cu_hal_deinit
bkeepfwalive(0)
card disble without HWSM...........
<=== rtw_ips_pwr_down..................... in 315ms
从反馈信息看到设备是挂上了,但是一直提示usb读写取消。
先是怀疑驱动错了,但是网上移植方法都大同小异,而且都是这样的。接着换板子,还是一样情况。最后换网卡,换成磊科NW336(rtl8188cus芯片)也还是一样,不过却发现NW336的指示灯一开始亮了,当出现==>pwr_state_check_handler .fw_state(0)时就灭了。于是翻查芯片的手册,看到8188具有省电模式,在Makefile中默认选上,而且加载驱动时,也默认最小省电模式(没错,就是上面代码红色的地方,旁边的应该是usb自动休眠,也是坑爹玩意)。
You can easy set the power saving to Min-PS (rtw_power_mgnt=1) by modify
the CONFIG_POWER_SAVING to y, at the line 20 of Makefile file.
Ex:
CONFIG_POWER_SAVING = y
于是尝试了一下,执行insmod 8192cu.ko rtw_power_mgnt=0(关闭省电模式),然后ifconfig wlan0 up,
等了一下,没出现usb读写取消的信息,NW336的指示灯也亮着,于是执行iwlist scanning,网卡很快就搜到了AP。
看来就是省电模式和2440有冲突啊。苦战了N久,终于搞定了.................
PS:如果不想每次insmod都带参数,在Makefile里把CONFIG_POWER_SAVING设成N就行了!!!
关于在2440上移植rtl8192和rtl8188cus linux驱动遇到的问题及解决方法!!!相关推荐
- AIR32F103(十一) 在AIR32F103上移植微雪墨水屏驱动
目录 AIR32F103(一) 合宙AIR32F103CBT6开发板上手报告 AIR32F103(二) Linux环境和LibOpenCM3项目模板 AIR32F103(三) Linux环境基于标准外 ...
- centos linux 系统上 log4j打印的时间与CST时间差8小时的解决方法
centos linux 系统上 log4j打印的时间与CST时间差8小时的解决方法 参考文章: (1)centos linux 系统上 log4j打印的时间与CST时间差8小时的解决方法 (2)ht ...
- PHP上传文件大小限制问题 post_max_size对大小的影响及解决方法
PHP上传文件大小限制问题 post_max_size对大小的影响及解决方法 参考文章: (1)PHP上传文件大小限制问题 post_max_size对大小的影响及解决方法 (2)https://ww ...
- ajax上传文件 获取失败,Ajax上传文件/照片时报错TypeError :Illegal invocation的解决方法...
本篇文章给大家带来的内容是关于Ajax上传文件/照片时报错TypeError :Illegal invocation的解决方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 问题 A ...
- 关于“在efi系统上,windows只能安装到gpt分区”的问题的解决方法的讨论(典型的宏基4750g)
关于"在efi系统上,windows只能安装到gpt分区"的问题的解决方法的讨论(典型的宏基4750g) 通常用u盘安装系统的方法是: 用软碟通(ultraiso)将系统文件(is ...
- 电脑插上U盘后扫描不到U盘的原因和解决方法
今天U盘不知为何插入电脑的接口后发现电脑根本扫描检测不到U盘,因为里面存有很多的重要资料,所以小编非常着急,自己一时也没什么好办法于是便上网搜寻了很多资料,大部分的解答呢都觉得不是特别好,最后呢还是自 ...
- 关于 ubuntu上qt5.9.3使用openssl出现“openssl unsupport platform” 的解决方法
欢迎技术交流和帮助,提供IT相关服务,索要源码请联系博主QQ: 21497936,若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 ...
- 在电脑上不能打开phpMyAdmin:即网址http://localhost:8080/phpMyAdmin/解决方法如下----潘万丁
在电脑上不能打开phpMyAdmin:即网址http://localhost:8080/phpMyAdmin/解决方法如下截图: 点击端口检测 点击尝试强制-启动,启动完成即可访问 访问成功,端口变成 ...
- iPhone XS 上的 Siri 没反应怎么办?苹果手机无法使用嘿 Siri 解决方法
iPhone XS Max 上的 Siri 没反应怎么办?苹果手机无法使用嘿 Siri 解决方法.Siri 已经成为 iPhone 上必不可少的智能语音助手,提供了很多便利,但是 Siri 突然不工作 ...
最新文章
- XMT.com超200万被区块链终端交易
- 面试:为什么 Java 线程没有Running状态?
- 复习05统计学习方法(决策树算法Decision Tree)---图片版
- 【Android 进程保活】应用进程拉活 ( 双进程守护 + JobScheduler 保活 | 成功率最高 | 推荐使用 )
- 前端笔记之NodeJS(四)MongoDB数据库Mongoose自制接口MVC架构思想|实战
- imutils用法总结
- MATLAB基本操作(三):数据类型
- Three.js中引入dat.gui库实现界面组件控制动画速度变量
- 在 TreeView 控件中显示分层数据
- mysql5.6 线程池_[MySQL5.6] Percona Server 5.6.14的线程池浅析
- 数据结构(8)----栈与队列之循环队列
- predict_16x16[i_mode]( p_dst, i_stride )lowres
- Extjs格式化时间
- 区块链之比特币的私钥,公钥和地址是什么?
- Java常用的工具类库介绍
- 单目深度估计方法:算法梳理与代码实现
- 画图相关 ppt visio 画图高清转移到word中
- Mac卸载creative cloud
- SD敢达服务器源码,《sd高达wars》金手指代码 SD高达G世纪WARS金手指
- 统计学习方法第一章思维导图
热门文章
- 什么软件测试显示器响应时间准,怎样检测LCD的实际响应时间?
- 深入Quartz,优雅地管理你的定时任务
- 航空航天巨头罗尔斯·罗伊斯采用“混合方法”研究量子计算
- 因为年轻被骗了,难受啊马飞
- Gantt - gantt.templates of the Lightbox - 灯箱模板
- Mybatis-plus sql语句 LT、LE、EQ、NE、GE、GT
- 超级旋风 说爱你不容易啊!
- hph中将前端接收的数据由json格式转成array
- springboot新冠疫苗预约系统在线视频点播系统毕业设计毕设作品开题报告开题答辩PPT
- 程序员必喝的健康饮料