wsl2串口

搜了几个方案,都不合适

网上很多人说wsl可以直接使用win的串口,com* 就对应 /dev/ttyS*

实际上这是wsl1的,wsl2官方明确表示不支持了

CH340 介绍

CH340是一个USB总线的转接芯片,实现USB转串口或者USB转打印口。 在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。

win下检查串口是否好用

https://zhuanlan.zhihu.com/p/342339132

重新编译内核

原文在这里

https://askubuntu.com/questions/1373910/ch340-serial-device-doesnt-appear-in-dev-wsl/

按照上面的步骤做就行了

wsl2 usb

和串口一样,wsl的kernel里面默认没有包含usb的各种驱动,包括sd card reader等,要使用usb就需要重新编译内核,步骤参考上面的链接

注意: 如果要使用usb块设备的话(比如格式化micro sd卡)可以在编译内核的时候把sd卡相关的驱动也装上,因为上次每装,所以我一次装了可能有关的和可能用到的很多驱动

#查看安装的usb驱动:
$ls /sys/bus/usb/drivers/
cdc_acm ch341 hub microtekX6 ums-cypress ums-freecom ums-karma ums-sddr09 usb usb-storage
cdc_ether cp210x lvs uas ums-datafab ums-isd200 ums-onetouch ums-sddr55 usbfs usbtest
cdc_ncm ftdi_sio mdc800 ums-alauda ums_eneub6250 ums-jumpshot ums-realtek ums-usbat usbhid

查看usb设备可以使用 lsusb 命令,不过出现在下面的设备有可能因为没有驱动的原因无法在 /dev/ 文件夹中看到,可以通过 lsblk 或者 lspci 命令来查看可使用的 usb,lsblk 命令会输出相应的端口号,更方便一点



这里sdf1是我的tf卡的一个分区,我的tf卡总共60G

命令速查

注意,必须在管理员权限下

# 列出usb id
usbipd wsl list
# 将设备附加到wsl
usbipd wsl attach --busid 2-3
# 将附加的设备卸载
usbipd wsl detach --busid 2-3

oscomp内容

比赛中需要开发让内核支持文件系统,并从文件系统中加载程序

linux下格式化tf卡为fat32的步骤如下

https://github.com/oscomp/testsuits-for-oskernel/blob/testscripts/fat32-info.md

但是有一个问题,xv6这种系统支持的fat32不能存在分区表,而在windows下的各种磁盘管理软件中,一定是有分区表这个东西的(只要你有分区的操作,就一定有分区表),所以下面这一步必须在linux中做,创建一个没有分区表的fat32文件系统

来源:https://superuser.com/questions/1052723/format-usb-flash-drive-without-partitions

$sudo wipefs --all /dev/sdk
$sudo mkfs.vfat -F 32 /dev/sdk
$lsblk

注意这里sdk不能有sdk1的分区

测试

使用同学的os测试

成功的结果如下:

之前失败的结果如下:

使用xv6-k210测试

cd到xv6-k210目录下

make run即可

成功的结果如下:

之前失败的结果如下:

更新点无关的

wsl2能否固定ip地址? - hez2010的回答 - 知乎

https://www.zhihu.com/question/387747506/answer/2399932025

wsl2 使用串口/usb的更多相关文章

  1. ROS 设置串口USB软连接

    原创:未经同意,请勿转载 我们在windows 通过USB连接串口,在设备串口中可以观测到COM0或者COMx.当我们插入不同的USB口时会显示不同的COM. 在UBUNTU下,ROS下接收串口信息时 ...

  2. 串口USB单一映射及重命名

    本文针对在开发过程中有时会出现用到多个串口设备,usb端口号会发生变化,如设备的灯指示信号和其他控制器都是ttyUSB* .其序号与控制接入的顺序有关,对于写好的launch每次修改串口连接名很麻烦. ...

  3. 迅为-iMX6开发板 飞思卡尔iMX6Q开发板 工业级开发板

    了解详情请点击迅为官网:http://topeetboard.com 迅为-i.MX6开发板是采用Freescale Cortex-A9 四核i.MX6Q处理器,主频1GHz,2G DDR3内存,16 ...

  4. S5P4418开发板介绍

    网站:http://topeetboard.com 1. 控制台(console)串口使用串口线连接开发板的 COM3到PC 机的串口,如果PC 或笔记本没有串口,就需要准备一条 USB 转串口的设备 ...

  5. 迅为最新推出iTOP-6818开发平台无缝支持4418开发板

    iTOP-6818开发板是一款四核ARM 八核开发板与iTOP-4418开发板完全兼容,CPU主频1.4GHz,内存1GB DDR3(2GB可选),存储16GB EMMC,板载千兆以太网,GPS,WI ...

  6. RPLIDAR使用和测试

    采购的RPLIDAR刚刚到货,先拆封,内部包括雷达主机.线缆.串口USB转接.USB线.   根据说明在此处下载驱动和SDK,雷达的数据实际是通过串口输出的,所以驱动只是针对串口USB转换芯片CP21 ...

  7. 嵌入式开发平台-iTOP-4418开发板

    详情转自:http://topeetboard.com S5P4418核心板可以无缝支持核心系统S5P6818,并保持底板设计不变,将兼顾更高端 的应用领域,为项目和产品提供更好的灵活性以及可伸缩性. ...

  8. TI Zigbee Light Link 参考设计

    TI  Zigbee Light Link 参考设计 原文出处: http://processors.wiki.ti.com/index.php/Category:ZigBee_Light_Link ...

  9. 迅为iTOP-4418开发板兼容八核6818开发板介绍

    核心板介绍 三星四核S5P4418与八核6818完美兼容 1GB内存/2GB内存可选 电源管理:AXP228,支持动态调频,超低功耗 核心板引出脚最全:四组连接器共320个PIN脚 核心板连接器高度仅 ...

  10. SWD接口:探索&泄密&延伸

    http://bbs.21ic.com/icview-871133-1-1.html 文买了个JLINKV9,以为神器,拿到手发现根本不是,完全没必要替换V8,想自己做个另类的调试器,当然想只是想而已 ...

随机推荐

  1. 洛谷P4135 Ynoi2016 掉进兔子洞 (带权bitset?/bitset优化莫队 模板) 题解

    题面. 看到这道题,我第一反应就是莫队. 我甚至也猜出了把所有询问的三个区间压到一起处理然后分别计算对应询问答案. 但是,这么复杂的贡献用什么东西存?难道要开一个数组 query_appear_tim ...

  2. YC-Framework版本更新:V1.0.10

    分布式微服务框架:YC-Framework版本更新V1.0.10!!! 本文主要内容: 1.V1.0.10版本更新主要内容2.YC-Framework相关系列文章分享 一.V1.0.10版本更新主要内 ...

  3. Go语言核心36讲40

    我相信,经过上一次的学习,你已经对strings.Builder和strings.Reader这两个类型足够熟悉了. 我上次还建议你去自行查阅strings代码包中的其他程序实体.如果你认真去看了,那 ...

  4. 【Java集合框架002】原理层面:HashMap全解析

    一.前言 二.HashMap 2.1 HashMap数据结构 + HashMap线程不安全 + 哈希冲突 2.1.1 HashMap数据结构 学习的时候,先整体后细节,HashMap整体结构是 底层数 ...

  5. 基于python的数学建模---scipy库

    instance1: 求解下列线性规划问题 s.t.   代码: from scipy import optimizeimport numpy as npc = np.array([2,3,-5])A ...

  6. Bigkey问题的解决思路与方式探索

    作者:vivo 互联网数据库团队- Du Ting 在Redis运维过程中,由于Bigkey 的存在,会影响业务程序的响应速度,严重的还会造成可用性损失,DBA也一直和业务开发方强调 Bigkey 的 ...

  7. python-opencv实现抖动算法

    抖动算法简单介绍 简单说就是牺牲分辨率来提高颜色数量. 通过黑点的疏密程度来进行灰度的显示. 例如墨水屏幕只能显示黑白,那么我们可以取样一部分区域矩,例如2x2的一个矩阵,来显示5个级别的灰度,用4个 ...

  8. C++编程笔记(GPU并行编程)

    目录 一.配置并使用 二.代码 三.内存管理 数组的分配 一.配置并使用 环境:Windows10 + CLion + VS2019 cuda的安装,并行的话只需要安装cuda,cuDNN就不必了 编 ...

  9. 【SQL必知必会】SQL知识查缺补漏

    一.使用函数处理数据 1.字符串处理函数-顾客登录名[sql22] 思路1:substring(word,1,n).upper.concat SELECT cust_id, cust_name, UP ...

  10. Linux和shell面试内容

    一.Linux 1.列出5个常用高级命令 ps -ef ps -aux df -h top io top xargs tail uptime netstat 2.查看磁盘使用情况.查看进程.查看端口号 ...