HamsterBear F1C200s v5.17 Linux RTL8188EUS 适配

  • 平台 - F1C200s

  • Linux版本 - 5.17.2

  • Buildroot - v2022.2

底板做了USB HUB, 用的是FE1.1s,一共做了4路,其中一路拿来连wifi模块,另外

3个直接做成了USB Type-A接口



进入 kernel menuconfig 打开如下选项

(该驱动位于staging下,选择编译进内核)

buildroot中选择如下软件包

(主要是net-tools iw工具包)

启动系统后

1. 修改musb 为host模式

echo host > /sys/devices/platform/soc/1c13000.usb/musb-hdrc.1.auto/mode

[ 1379.560411] phy phy-1c13400.phy.0: Changing dr_mode to 1
[ 1380.223933] usb 1-1: new high-speed USB device number 2 using musb-hdrc
[ 1380.405841] hub 1-1:1.0: USB hub found
[ 1380.409764] hub 1-1:1.0: 4 ports detected
[ 1380.833942] usb 1-1.1: new high-speed USB device number 3 using musb-hdrc
[ 1381.146412] r8188eu: module is from the staging directory, the quality is unknown, you have been warned.
[ 1381.170314] Chip Version Info: CHIP_8188E_Normal_Chip_TSMC_D_CUT_1T1R_RomVer(0)
[ 1381.205020] EEPROM ID = 0x8129
[ 1381.212399] usbcore: registered new interface driver r8188eu

ip addr 可以看到对应wifi接口

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: usb0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether 52:8c:6f:55:1f:64 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether 54:ef:33:d6:5e:72 brd ff:ff:ff:ff:ff:ff

2. 连接到wifi

上电

# ifconfig wlan0 up
[ 1687.899356] R8188EU: Firmware Version 11, SubVersion 1, Signature 0x88e1
[ 1688.274263] MAC Address = 54:ef:33:d6:5e:72

扫描附近wifi

# iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 8C:DE:F9:EC:55:8B
ESSID:""
Protocol:IEEE 802.11bgn
Mode:Master
Frequency:2.422 GHz (Channel 3)
Encryption key:off
Bit Rates:144 Mb/s
Quality:0 Signal level:0 Noise level:0
Cell 02 - Address: 96:DE:F9:EC:55:8B
ESSID:"kernelbot"
Protocol:IEEE 802.11bgn
Mode:Master
Frequency:2.422 GHz (Channel 3)
Encryption key:off
Bit Rates:144 Mb/s
IE: Unknown: DD820050F204104A0001101044000101103B00010310470010876543219ABCDEF012340AA3C33C838F102100067869616F6D69102300045241383110240004303030321042000531323334351054000800060050F2040001101100135849414F4D495F524F555445525F4755455354100800020000103C0001031049000600372A000120
Quality:0 Signal level:0 Noise level:0

连接到wifi

# iwconfig wlan0 essid kernelbot
# iwconfig
lo no wireless extensions. usb0 no wireless extensions. wlan0 IEEE 802.11bgn ESSID:"kernelbot" Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency:2.422 GHz Access Point: 96:DE:F9:EC:55:8B
Bit Rate:72.2 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=100/100 Signal level=0 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

请求ip

# udhcpc -i wlan0
udhcpc: started, v1.35.0
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.19.234, server 192.168.19.1
udhcpc: lease of 192.168.19.234 obtained from 192.168.19.1, lease time 43200
deleting routers
adding dns 192.168.19.1

尝试访问外网(没接天线)

# ping baidu.com
PING baidu.com (220.181.38.148): 56 data bytes
64 bytes from 220.181.38.148: seq=0 ttl=50 time=201.784 ms
64 bytes from 220.181.38.148: seq=1 ttl=50 time=225.148 ms
64 bytes from 220.181.38.148: seq=2 ttl=50 time=15.126 ms
64 bytes from 220.181.38.148: seq=3 ttl=50 time=116.496 ms
64 bytes from 220.181.38.148: seq=4 ttl=50 time=115.356 ms
64 bytes from 220.181.38.148: seq=5 ttl=50 time=21.000 ms
64 bytes from 220.181.38.148: seq=6 ttl=50 time=114.353 ms
64 bytes from 220.181.38.148: seq=7 ttl=50 time=122.406 ms
^C
--- baidu.com ping statistics ---
8 packets transmitted, 8 packets received, 0% packet loss
round-trip min/avg/max = 15.126/116.458/225.148 ms

更多玩法

1. MQTT与上位机通信

2. 移植浏览器访问网页

3. 挂载主机NFS文件系统

4. 做内网WEB服务器

5. 暂时没想到

总结以及遇到的一些问题

总结

因为一开始设计思路就比较清晰,所以整个过程还是比较顺利的,底板设计的时候,因为

粗心大意连错了线,所以又再版了。

内核 buildroot那两块等有空再写详细点。

有问题可以联系我邮箱(writeforever@foxmail.com)

问题

  1. 模块上电后扫描自动断开连接

    后来发现是供电不够,一开始一直用电脑USB接口供电,但那个最大电流貌似就500mA,

    换了个充电头就ok了。

HamsterBear F1C200s v5.17 Linux RTL8188EUS 适配的更多相关文章

  1. [保姆级教程] 如何在 Linux Kernel (V5.17.7) 中添加一个系统调用(System call)

    最近在学习 <linux Kernel Development>,本书用的linux kernel 是v2.6 版本的.看完"系统调用"一节后,想尝试添加一个系统调用, ...

  2. 10.17 linux 文件权限

    文件权限模拟练习 [root@wen ~]# groupadd incahome[root@wen ~]# usersdd oldboy -g incahome-bash: usersdd: comm ...

  3. Linux下修改计算机名

    SuSe操作系统: 1.  修改/etc/HOSTNAME 文件  ,其内容为计算机名. 输入命令:vi /etc/HOSTNAME 使用键盘上的 x 键一个一个删除所有内容 ,然后使用键盘上的 i ...

  4. 2019/4/17 Linux学习

    一.Linux的文件系统 其中/prov./srv./sys 文件为文件系统,技术不过硬不要去修改:二.关于Xshell.Xft1.服务器的端口可有65535个可设置,开的越多安全性越差:2.远程登录 ...

  5. 17.linux下root用户与普通用户

    默认安装完成之后并不知道root用户的密码,那么如何应用root权限呢? (1)sudo 命令   这样输入当前管理员用户密码就可以得到超级用户的权限.但默认的情况下5分钟root权限就失效了. (2 ...

  6. 17.Linux命令

    1.网络配置 setup       配置 ifup eth0  启动网卡 文件保存在  /etc/sysconfig/network-scripts/ifcfg-eth0,修改ifcfg-eth0配 ...

  7. 17.Linux高可用之Keepalived

    1.什么是高可用,为什么要设计高可用? 两台机器启动着相同的业务系统,当有一台机器宕机,另外一台服务器能快速的接管,对于访问的用户是无感知的. 减少系统不能提供服务的时间. 2.高可用使用什么工具来实 ...

  8. 17.Linux搭建网络仓库

    1.搭建一个网络仓库 服务端:10.0.0.201 1.准备软件包(1.光盘 2.缓存 3.联网下载 4.同步) 1.挂载光盘 mount /dev/cdrom 2.通过ftp共享软件包存放的目录 y ...

  9. Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)

    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,Linux CentOS 7 安装PostgreSQL 9.5.17 安装过程 特此记录. 安装环境: 数据库:Postgre ...

随机推荐

  1. SQL获取当前时间(日期)

    --获取当前日期(如:yyyymmdd)select CONVERT (nvarchar(12),GETDATE(),112) --获取当前日期(如:yyyymmdd hh:MM:ss)select ...

  2. MM32F0140的复位脚nRST复用成普通GPIO PA10功能

    目录: 1.MM32F0020简介 2.MM32F0020的复位脚nRST和PA10的说明 3.MM32F0020的选项字节说明 4.MM32F0020的FLASH_OBR选项字节寄存器说明 5.MM ...

  3. VUE开发--环境配置(一)(转)

    无剑_君关注 0.312019.05.09 11:53:43字数 1,073阅读 19,627        https://www.jianshu.com/p/a494417def99?utm_so ...

  4. Oracle入门基础(三)一一单行函数

    SQL> --字符函数 SQL> select lower('Hello World') 转小写,upper('Hello World') 转大写,initcap('hello world ...

  5. 阐述 ArrayList、Vector、LinkedList 的存储性能和特性?

    ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的 数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉 及数组元素移动等内存操作,所以索引数 ...

  6. gradle构建scala

    1. 在目录下创建build.gradle文件,内容为: apply plugin: 'idea' apply plugin: 'scala' repositories { mavenLocal() ...

  7. 前端进阶(12) - css 的弱化与 js 的强化

    css 的弱化与 js 的强化 web 的三要素 html, css, js 在前端组件化的过程中,比如 react.vue 等组件化框架的运用,使 html 的弱化与 js 的强化 成为了一种趋势, ...

  8. window onerror 各浏览器下表现总结

    window onerror 各浏览器下表现总结 做前端错误上报,必然离不开window onerror,但window onerror在不同设备上表现并不一致,浏览器为避免信息泄露,在一些情况下并不 ...

  9. canvas —— globalCompositeOperation

    globalCompositeOperation 属性设置或返回如何将一个源(新的)图像绘制到目标(已有)的图像上. 源图像 = 您打算放置到画布上的绘图. 目标图像 = 您已经放置在画布上的绘图. ...

  10. div 底部固定方法(不用position定位)

    方法一:全局增加一个负值下边距等于底部高度 <style> html, body { height: 100%; margin: 0; } .content { padding: 20px ...