HamsterBear F1C200s v5.17 Linux RTL8188EUS 适配
HamsterBear F1C200s v5.17 Linux RTL8188EUS 适配
平台
- F1C200sLinux版本
- 5.17.2Buildroot
- 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)
问题
- 模块上电后扫描自动断开连接
后来发现是供电不够,一开始一直用电脑USB接口供电,但那个最大电流貌似就500mA,
换了个充电头就ok了。
HamsterBear F1C200s v5.17 Linux RTL8188EUS 适配的更多相关文章
- [保姆级教程] 如何在 Linux Kernel (V5.17.7) 中添加一个系统调用(System call)
最近在学习 <linux Kernel Development>,本书用的linux kernel 是v2.6 版本的.看完"系统调用"一节后,想尝试添加一个系统调用, ...
- 10.17 linux 文件权限
文件权限模拟练习 [root@wen ~]# groupadd incahome[root@wen ~]# usersdd oldboy -g incahome-bash: usersdd: comm ...
- Linux下修改计算机名
SuSe操作系统: 1. 修改/etc/HOSTNAME 文件 ,其内容为计算机名. 输入命令:vi /etc/HOSTNAME 使用键盘上的 x 键一个一个删除所有内容 ,然后使用键盘上的 i ...
- 2019/4/17 Linux学习
一.Linux的文件系统 其中/prov./srv./sys 文件为文件系统,技术不过硬不要去修改:二.关于Xshell.Xft1.服务器的端口可有65535个可设置,开的越多安全性越差:2.远程登录 ...
- 17.linux下root用户与普通用户
默认安装完成之后并不知道root用户的密码,那么如何应用root权限呢? (1)sudo 命令 这样输入当前管理员用户密码就可以得到超级用户的权限.但默认的情况下5分钟root权限就失效了. (2 ...
- 17.Linux命令
1.网络配置 setup 配置 ifup eth0 启动网卡 文件保存在 /etc/sysconfig/network-scripts/ifcfg-eth0,修改ifcfg-eth0配 ...
- 17.Linux高可用之Keepalived
1.什么是高可用,为什么要设计高可用? 两台机器启动着相同的业务系统,当有一台机器宕机,另外一台服务器能快速的接管,对于访问的用户是无感知的. 减少系统不能提供服务的时间. 2.高可用使用什么工具来实 ...
- 17.Linux搭建网络仓库
1.搭建一个网络仓库 服务端:10.0.0.201 1.准备软件包(1.光盘 2.缓存 3.联网下载 4.同步) 1.挂载光盘 mount /dev/cdrom 2.通过ftp共享软件包存放的目录 y ...
- Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
近日需要将PostgreSQL数据库从Windows中迁移到Linux中,Linux CentOS 7 安装PostgreSQL 9.5.17 安装过程 特此记录. 安装环境: 数据库:Postgre ...
随机推荐
- JavaScript 函数 (一 JavaScript 函数的声明与使用)
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. JavaScript 函数的声明与使用 实例 <!DOCTYPE html> <html> <head> ...
- class文件和java文件区别
- 详细描述一下 Elasticsearch 搜索的过程?
想了解 ES 搜索的底层原理,不再只关注业务层面了. 解答: 搜索拆解为"query then fetch" 两个阶段. query 阶段的目的:定位到位置,但不取. 步骤拆解如下 ...
- kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?
Kafka 分布式的单位是 partition,同一个 partition 用一个 write ahead log 组织, 所以可以保证 FIFO 的顺序.不同 partition 之间不能保证顺序. ...
- Redis的Jedis操作(五)
需要把jedis依赖的jar包添加到工程中.Maven工程中需要把jedis的坐标添加到依赖. 推荐添加到服务层. 1.连接单机版 第一步:创建一个Jedis对象.需要指定服务端的ip及端口. 第二步 ...
- 谷歌浏览器postman插件安装,亲测可用
将谷歌浏览器进入扩展程序,将crx文件拖入即可. https://pan.baidu.com/s/1rIEe9RSby5EgTkygSx_dDA 百度云链接: https://pan.baidu.co ...
- 运筹学之"简单平均预测法"和"加权滑动平均预测法"和"确定平滑系数"
1.简单滑动平均预测法就是将所有的售价加起来除以总数 665/5=133 2.加权滑动平均预测法:需要将售价分别乘以权之和,并除以权之和 1771/13≈136.23 二.某木材公司销售房架构件,其中 ...
- FPGA入门到精通系列1:数字电路基础知识
本文主要介绍数字电路基础知识,用最简洁的内容介绍最核心的知识. 1.数字电路是什么? 数字电路是利用电源电压的高电平和低电平分别表示1和0,进而实现信息的表达.模拟信号:随时间连续变化的信号.处理 ...
- js 关于setTimeout和Promise执行顺序问题
js 关于setTimeout和Promise执行顺序问题 异步 -- Promise和setTimeout 执行顺序 Promise 和 setTimeout 到底谁先执行 定时器的介绍 Jav ...
- 前端面试题整理——HTML/CSS
如何理解语义化: 对应的内容是用相应意思的标签,增加开发者和机器爬虫对代码的可读性. 块状元素和内联元素: 块状元素有:display:block/table:有div h1 h2 table ul ...