AM5728(AM5708)开发实战之USB网络共享
创始人
2024-05-30 12:35:28

一 编译USB/IP组件

USB/IP组件包含两部分:USB/IP协议栈和USB/IP驱动模块
USB/IP协议栈源码位于linux_kernel/tools/usb/usbip
USB/IP驱动模块位于linux_kernel/drivers/usb/usbip

1.1 编译USB/IP协议栈

1 进入USB/IP协议栈目录
cd linux_kernel/tools/usb/usbip
2 执行如下命令,生成configure
./autogen.sh
打印信息如下图1所示:
在这里插入图片描述
图1
3 执行如下命令,生成Makefile
./configure --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf --prefix=/home/ linux/Desktop/usbip
4 编译并且安装USB/IP协议栈
make; make install
USB/IP协议栈如下图2所示:
在这里插入图片描述
图2

1.2 编译USB/IP驱动模块

1 执行如下命令,选择USB/IP驱动模块
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
依次选择Device Drivers -> USB support -> USB/IP support
在这里插入图片描述
2 执行如下命令,编译USB/IP驱动模块
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules
编译成功后生成3个驱动模块,如下所示:
drivers/usb/usbip/usbip-core.ko
drivers/usb/usbip/usbip-host.ko
drivers/usb/usbip/vhci-hcd.ko

二 测试USB/IP组件

服务器执行如下步骤,开启USB网络共享
1 加载服务器驱动
insmod usbip-core.ko
insmod usbip-host.ko
2 启动usbipd后台程序
usbipd -D
3 扫描连接的USB设备
usbip list -l
在这里插入图片描述
注意:
I 确保服务器端已连接USB设备
II 请忽略错误信息:failed to open /usr/share/hwdata//usb.ids
4 共享USB设备给客户端
usbip bind --busid 3-1
在这里插入图片描述
为了防止数据冲突,共享USB设备后,服务器会卸载该USB设备
5 关闭USB网络共享
usbip unbind --busid 3-1
客户端执行如下步骤,绑定USB设备
1 加载客户端驱动
insmod usbip-core.ko
insmod vhci-hcd.ko
2 扫描服务器USB设备
usbip list --remote 192.168.0.227
在这里插入图片描述
注意:
请忽略错误信息failed to open /usr/share/hwdata//usb.ids
3 绑定服务器USB设备
usbip attach --remote 192.168.0.227 --busid 3-1.1
4 列出当前绑定的USB设备,然后解除绑定
usbip port
在这里插入图片描述
usbip detach --port 0

相关内容

热门资讯

苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...