windows USB 虚拟串口的 PC驱动

本文详细介绍了如何在Linux内核中配置USB gadget serial,并指导在Windows上安装相应的驱动支持,包括修改内核配置、创建设备节点、设置初始化脚本以及手动安装驱动。通过这些步骤,用户能够在Windows的超级终端中使用USB-Serial串口进行通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LINUX端内核配置需加入USBgadget支持,9261UDP支持以及usb-serial.支持。

    

     i. /linux-kernel/driver/usb/gadget/serial.c中

    #define GS_DEFAULT_USE_ACM 0该为

    #define GS_DEFAULT_USE_ACM 1

     ii. 需在/dev/下加入ttygs0 c 127 0

    命令为mknod /dev/ttygs0 c 127 0

     iii. /etc/inittab中最后加入B:2345:respawn:/sbin/getty 115200 ttygs0

    

    

     windows端需要加入usb- serial驱动支持

    提供文件名为gserial.inf和usbser.sys

    

    l 成功在windows的超级终端用 usb-serial串口进入步骤:

    1. 按照上面编译内核及其文件系统/dev , /etc/inittab文件。

    

    

    2. 用以前的方式打开超级终端,启动9261系统到内核启动完毕,此时连通usb线,在windows端,会出现“发现新硬件,安装驱动的提示,”,手动安装即可,确认成功,在“我的电脑”右击鼠标,查看属性,找到“硬件设备管理器”,并在“端口”项目中找到“Gadget Serial”。

    

    

    3. 重新启动9261系统,进入sh提示符后,等待直到

    gs_open: (0,c0014000,c0cb2ee0) device is not connected

    gs_close: NULL port pointer

    出现,如未出现,说明前面操作有问题。在等待字符出现后,重新拔插一次USB线,会立即出现:

    gs_disconnect: Gadget Serial disconnected

    gs_setup_complete: status error, status=0, actual=16, length=18

    gs_disconnect: Gadget Serial disconnected

    gs_set_config: Gadget Serial configured, full speed CDC-ACM config

    此时你可以新建一个超级终端,选择端口为“gadget serial“,我这里是com5

    其他配置与以前超级终端一样,bd 115200 之后回车进入,就有如下界面:

    Familiar Linux v0.8.3 ebd9261 ttygs0

    

    ebd9261 login:

    

    

    

    

    

    

    附录[一]:

    

    gserial . inf come from :/linux/document/usb/gadget_serial.txt

    

    [Version]

    Signature="$Windows NT$"

    Class=Ports

    ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}

    Provider=%LINUX%

    DriverVer=08/17/2004,0.0.2.0

    ; Copyright (C) 2004 Al Borchers (

    [email=alborchers@steinerpoint.com]alborchers@steinerpoint.com[/email]

    )

    [Manufacturer]

    %LINUX%=GSerialDeviceList

    [GSerialDeviceList]

    %GSERIAL%=GSerialInstall, USB\VID_0525&PID_A4A7

    [DestinationDirs]

    DefaultDestDir=10,System32\Drivers

    [GSerialInstall]

    CopyFiles=GSerialCopyFiles

    AddReg=GSerialAddReg

    [GSerialCopyFiles]

    usbser.sys

    [GSerialAddReg]

    HKR,,DevLoader,,*ntkern

    HKR,,NTMPDriver,,usbser.sys

    HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

    [GSerialInstall.Services]

    AddService = usbser,0x0002,GSerialService

    [GSerialService]

    DisplayName = %GSERIAL_DISPLAY_NAME%

    ServiceType = 1 ; SERVICE_KERNEL_DRIVER

    StartType = 3 ; SERVICE_DEMAND_START

    ErrorControl = 1 ; SERVICE_ERROR_NORMAL

    ServiceBinary = %10%\System32\Drivers\usbser.sys

    LoadOrderGroup = Base

    [Strings]

    LINUX = "Linux"

    GSERIAL = "Gadget Serial"

    GSERIAL_DISPLAY_NAME = "USB Gadget Serial Driver"

    

    附录[二]:usbser.sys

    

    你可以在\WINDOWS\Driver Cache\i386\sp2.cab中找到

    或者g.cn 找找

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值