USB 串口

简介

USB 串口驱动程序目前支持许多不同的 USB 转串口转换器产品,以及一些使用用户空间串口接口与设备通信的设备。

有关不同设备的具体信息,请参阅下面的各个产品部分。

配置

目前,该驱动程序一次最多可以处理 256 个不同的串行接口。

该驱动程序使用的主设备号是 188,因此要使用该驱动程序,请创建以下节点

mknod /dev/ttyUSB0 c 188 0
mknod /dev/ttyUSB1 c 188 1
mknod /dev/ttyUSB2 c 188 2
mknod /dev/ttyUSB3 c 188 3
        .
        .
        .
mknod /dev/ttyUSB254 c 188 254
mknod /dev/ttyUSB255 c 188 255

当设备连接并被驱动程序识别时,驱动程序将打印到系统日志,说明该设备已绑定到哪些节点。

支持的特定设备

ConnectTech WhiteHEAT 4 端口转换器

ConnectTech 在提供有关其设备的信息方面非常积极,包括提供一个用于测试的单元。

该驱动程序由 Connect Tech Inc. 正式支持。 http://www.connecttech.com

对于此驱动程序的任何问题或疑问,请联系 Connect Tech 的支持部门,邮箱地址为 support@connecttech.com

HandSpring Visor、Palm USB 和 Clié USB 驱动程序

此驱动程序适用于所有 HandSpring USB、Palm USB 和 Sony Clié USB 设备。

只有当设备尝试连接到主机时,该设备才会作为有效的 USB 设备显示给主机。发生这种情况时,设备会被正确枚举,分配一个端口,然后应该可以进行通信。当设备被移除或设备上的连接被取消时,驱动程序会正确清理。

注意

这意味着,为了与设备通信,必须在尝试让任何程序与设备通信之前按下同步按钮。这与 pilot-xfer 和其他软件包的当前文档相反,但这是由于设备中的硬件所导致的唯一可行方法。

当设备连接后,尝试在第二个端口(如果您系统中没有任何其他 USB 串口设备,则通常是 /dev/ttyUSB1)上与其通信。系统日志应告诉您哪个端口是用于 HotSync 传输的端口。“通用”端口可用于其他设备通信,例如 PPP 链路。

对于某些 Sony Clié 设备,必须使用 /dev/ttyUSB0 与设备通信。对于所有 OS 版本 3.5 设备以及大多数已将 flash 升级到较新版本的 OS 的设备,都是如此。请参阅内核系统日志,以了解哪个端口是正确的端口。

如果在按下同步按钮后,系统日志中没有任何显示,请尝试重置设备,首先是热重置,必要时再进行冷重置。某些设备需要这样做才能正确地与 USB 端口通信。

可以使用模块参数指定未编译到内核中的设备。例如:modprobe visor vendor=0x54c product=0x66

该驱动程序的这一部分有一个网页和邮件列表:http://sourceforge.net/projects/usbvisor/

对于此驱动程序的任何问题或疑问,请联系 Greg Kroah-Hartman,邮箱地址为 greg@kroah.com

PocketPC PDA 驱动程序

此驱动程序可用于连接使用 USB 电缆/底座的 Compaq iPAQ、HP Jornada、Casio EM500 和其他运行 Windows CE 3.0 或 PocketPC 2002 的 PDA。大多数 ActiveSync 支持的设备都开箱即用。对于其他设备,请使用模块参数指定产品和供应商 ID。例如:modprobe ipaq vendor=0x3f0 product=0x1125

该驱动程序提供一个串行接口(通常在 /dev/ttyUSB0 上),通过该接口可以运行 ppp 并与 PDA 建立 TCP/IP 链接。完成后,您可以传输文件、备份、下载电子邮件等。使用 USB 的最显著优势是速度 - 我可以获得 73 到 113 kbytes/sec 的速度来下载/上传到我的 iPAQ。

此驱动程序只是利用 USB 连接所需的一组组件之一。请访问 http://synce.sourceforge.net,其中包含必要的软件包和一个简单的逐步操作指南。

连接后,您可以使用 PDA 上的 Win CE 程序(如 ftpView、Pocket Outlook)和 Linux 端的 xcerdisp、synce 实用程序。

要使用 Pocket IE,请按照 http://www.tekguru.co.uk/EM500/usbtonet.htm 上给出的说明在 Win98 上实现相同的功能。省略代理服务器部分;Linux 与 Win98 不同,完全有能力转发数据包。至少对于 iPAQ,还需要进行另一项修改 - 通过转到开始/设置/连接菜单并取消选中“自动同步 ...”框来禁用自动同步。转到开始/程序/连接,连接电缆并选择“usbdial”(或您为新 USB 连接命名的任何名称)。您最终应该会看到一个“已连接到 usbdial”窗口,其中显示状态为已连接。现在启动 PIE 并开始浏览。

如果由于某种原因它不起作用,请使用模块参数“debug”设置为 1 加载 usbserial 和 ipaq 模块,并检查系统日志。您也可以尝试在尝试连接之前软重置您的 PDA。

根据您的 PDA,可能可以使用其他功能。根据 Wes Cilldhaire <billybobjoehenrybob@hotmail.com> 的说法,对于 Toshiba E570,...如果您引导进入引导加载程序(在按重置按钮时按住电源,继续按住电源直到显示引导加载程序屏幕),然后将其放入加载了 ipaq 驱动程序的底座中,在 /dev/ttyUSB0 上打开一个终端,它会给您一个“USB Reflash”终端,该终端可用于刷新 ROM 以及微型代码。因此,不再需要东芝价值 350 美元的串行电缆进行刷新了!:D 注意:这尚未经过测试。使用风险自负。

对于此驱动程序的任何问题或疑问,请联系 Ganesh Varadarajan <ganesh@veritas.com>

Keyspan PDA 串行适配器

单端口 DB-9 串行适配器,作为 iMac 的 PDA 适配器推出(主要在 Macintosh 产品目录中销售,采用半透明的白色/绿色加密狗)。相当简单的设备。固件是自制的。此驱动程序也适用于 Xircom/Entrega 单端口串行适配器。

当前状态

有效的功能
  • 基本输入/输出(使用“cu”测试)

  • 当串行线路跟不上时阻止写入

  • 更改波特率(高达 115200)

  • 获取/设置调制解调器控制引脚 (TIOCM{GET,SET,BIS,BIC})

  • 发送中断(尽管持续时间看起来可疑)

无效的功能
  • 设备字符串(如内核记录)具有尾随的二进制垃圾

  • 设备 ID 不正确,可能会与其他 Keyspan 产品冲突

  • 更改波特率应该刷新 tx/rx 以避免损坏的半字符

待办事项列表上的重要事项
  • 奇偶校验,每个字符 7 位或 8 位,1 个或 2 个停止位

  • 硬件流控制

  • 并非所有标准 USB 描述符都已处理:Get_Status、Set_Feature、O_NONBLOCK、select()

对于此驱动程序的任何问题或疑问,请联系 Brian Warner,邮箱地址为 warner@lothar.com

Keyspan USA 系列串行适配器

单端口、双端口和四端口适配器 - 驱动程序使用 Keyspan 提供的固件,并且在他们的支持下进行开发。

当前状态

USA-18X、USA-28X、USA-19、USA-19W 和 USA-49W 均受支持,并且已在各种波特率下使用 8-N-1 字符设置进行了相当全面的测试。其他字符长度和奇偶校验设置目前未经测试。

USA-28 尚未受支持,但这样做应该非常简单。如果您需要此功能,请联系维护人员。

更多信息可在以下网址获得

对于此驱动程序的任何问题或疑问,请联系 Hugh Blemings,邮箱地址为 hugh@misc.nu

FTDI 单端口串行驱动程序

这是一个单端口 DB-25 串行适配器。

支持的设备包括

  • TripNav TN-200 USB GPS

  • Navis Engineering Bureau CH-4711 USB GPS

对于此驱动程序的任何问题或疑问,请联系 Bill Ryder。

ZyXEL omni.net lcd plus ISDN TA

这是一个 ISDN TA。请将成功和问题报告给 azummo@towertech.it

Cypress M8 CY4601 系列串行驱动程序

此驱动程序主要由 Neil “koyama” Whelchel 开发。自之前的版本以来,它得到了改进,以支持动态串行线路设置和改进的线路处理。该驱动程序在很大程度上是稳定的,并且已在 SMP 机器(双 P2)上进行了测试。

CY4601 系列支持的芯片组

CY7C63723、CY7C63742、CY7C63743、CY7C64013

支持的设备

  • DeLorme 的 USB Earthmate GPS (SiRF Star II lp 架构)

  • Cypress HID->COM RS232 适配器

注意

Cypress Semiconductor 声明与 hid->com 设备没有任何关联。

大多数使用 CY4601 系列芯片组的设备应该都可以使用此驱动程序。只要它们符合 CY4601 usbserial 规范。

技术说明

Earthmate 默认以 4800 8N1 启动...驱动程序启动时会初始化为这个设置。usbserial 核心提供其余的 termios 设置,以及一些自定义的 termios,以便输出格式正确且可解析。

可以通过发出 NMEA 命令将设备置于 sirf 模式

$PSRF100,<protocol>,<baud>,<databits>,<stopbits>,<parity>*CHECKSUM
$PSRF100,0,9600,8,1,0*0C

It should then be sufficient to change the port termios to match this
to begin communicating.

据我所知,它几乎支持所有在线文档中记录的 sirf 命令(固件 2.31 版本),但有一些未知的消息 ID。

hid->com 适配器可以以最高 115200bps 的波特率运行。请注意,该设备在升高线路电压方面存在问题或无法正常工作。它在空调制解调器连接中可以正常工作,只要您不尝试将两个适配器连接在一起而不破解适配器以将线路设置为高电平即可。

该驱动程序是 smp 安全的。当用于传输文件时,驱动程序的性能相当低。目前正在努力解决这个问题,但我愿意接受补丁。urb 队列或数据包缓冲区可能会解决这个问题。

如果您有任何问题、问题、补丁、功能请求等,您可以通过电子邮件在此处与我联系

(您的问题/补丁也可以提交到 usb-devel)

Digi AccelePort 驱动程序

此驱动程序支持 Digi AccelePort USB 2 和 4 设备,即 2 端口(加一个并行端口)和 4 端口 USB 串行转换器。该驱动程序尚不支持 Digi AccelePort USB 8。

此驱动程序在带有 usb-uhci 驱动程序的 SMP 下工作。它在带有 uhci 驱动程序的 SMP 下不工作。

该驱动程序通常可以工作,但我们仍然有一些 ioctl 需要实现,并需要进行最终的测试和调试。USB 2 上的并行端口作为串行到并行转换器受到支持;换句话说,它在 Linux 上显示为另一个 USB 串行端口,即使它实际上是一个并行端口。尚不支持 Digi Acceleport USB 8。

对于此驱动程序的疑问或问题,请联系 Peter Berger (pberger@brimson.com) 或 Al Borchers (alborchers@steinerpoint.com)。

Belkin USB 串行适配器 F5U103

Belkin 的单端口 DB-9/PS-2 串行适配器,固件由 eTEK Labs 提供。Peracom 单端口串行适配器以及 GoHubs 适配器也适用于此驱动程序。

当前状态

以下已测试且可以工作

  • 波特率 300-230400

  • 数据位 5-8

  • 停止位 1-2

  • 奇偶校验 N、E、O、M、S

  • 握手 无、软件 (XON/XOFF)、硬件 (CTSRTS、CTSDTR) [1]

  • 中断 设置和清除

  • 线路控制 输入/输出查询和控制 [2]

待办事项列表
  • 添加真正的调制解调器控制线路查询功能。当前会跟踪中断报告的状态和请求的状态。

  • 为 UART 错误情况添加错误报告回应用程序。

  • 添加对 flush ioctl 的支持。

  • 添加所有缺失的内容:)

对于此驱动程序的任何疑问或问题,请联系 William Greathouse,邮箱:wgreathouse@smva.com

Empeg empeg-car Mark I/II 驱动程序

这是一个实验性驱动程序,用于为 Empeg empeg-car mp3 播放器的客户端同步工具提供连接支持。

提示
  • 不要忘记为 ttyUSB{0,1,2,...} 创建设备节点

  • modprobe empeg (modprobe 是您的好帮手)

  • emptool --usb /dev/ttyUSB0 (或您为设备节点命名的任何名称)

对于此驱动程序的任何疑问或问题,请联系 Gary Brubaker,邮箱:xavyer@ix.netcom.com

MCT USB 单端口串行适配器 U232

此驱动程序适用于 Magic Control Technology Corp. 的 MCT USB-RS232 转换器(25 针,型号:U232-P25)(也有一个 9 针型号:U232-P9)。有关此设备的更多信息,请访问制造商的网站:http://www.mct.com.tw

该驱动程序通常可以工作,但仍需要进行更多测试。它源自 Belkin USB 串行适配器 F5U103 驱动程序,其待办事项列表也适用于此驱动程序。

还发现此驱动程序适用于其他具有相同供应商 ID 但产品 ID 不同的产品。Sitecom 的 U232-P25 串行转换器使用产品 ID 0x230 和供应商 ID 0x711,并且可以使用此驱动程序。此外,D-Link 的 DU-H3SP USB BAY 也可以使用此驱动程序。

对于此驱动程序的任何疑问或问题,请联系 Wolfgang Grandegger,邮箱:wolfgang@ces.ch

Inside Out Networks Edgeport 驱动程序

此驱动程序支持 Inside Out Networks 制造的所有设备,特别是以下型号

  • Edgeport/4

  • Rapidport/4

  • Edgeport/4t

  • Edgeport/2

  • Edgeport/4i

  • Edgeport/2i

  • Edgeport/421

  • Edgeport/21

  • Edgeport/8

  • Edgeport/8 Dual

  • Edgeport/2D8

  • Edgeport/4D8

  • Edgeport/8i

  • Edgeport/2 DIN

  • Edgeport/4 DIN

  • Edgeport/16 Dual

对于此驱动程序的任何问题或疑问,请联系 Greg Kroah-Hartman,邮箱地址为 greg@kroah.com

REINER SCT cyberJack pinpad/e-com USB 芯片卡读卡器

与 ISO 7816 兼容的接触式芯片卡(例如 GSM SIM 卡)的接口。

当前状态

这是此 USB 读卡器的驱动程序的内核部分。还有一个用于 CT-API 驱动程序的用户部分可用。下载站点待定。目前,您可以从维护者 (linux-usb@sii.li) 请求。

对于此驱动程序的任何疑问或问题,请联系 linux-usb@sii.li

Prolific PL2303 驱动程序

此驱动程序支持任何带有 Prolific 的 PL2303 芯片的设备。这包括许多单端口 USB 到串行转换器、超过 70% 的 USB GPS 设备(在 2010 年)和一些 USB UPS。Aten (UC-232) 和 IO-Data 的设备以及 DCU-11 手机电缆都可以使用此驱动程序。

对于此驱动程序的任何问题或疑问,请联系 Greg Kroah-Hartman,邮箱地址为 greg@kroah.com

KL5KUSB105 芯片组 / PalmConnect USB 单端口适配器

当前状态

该驱动程序是通过查看 Palm 在 Windows 下的驱动程序完成的 USB 总线事务而拼凑而成的,因此仍然缺少许多功能。值得注意的是,串行 ioctl 有时是伪造的或尚未实现。但是,已实现对查找 DSR 和 CTS 线路状态的支持(尽管不是很完美),因此您最喜欢的 autopilot(1) 和 pilot-manager -daemon 调用将起作用。支持高达 115200 的波特率,但不支持握手(软件或硬件),这就是为什么在解决此问题之前,明智的做法是降低大传输使用的速率。

请访问 http://www.uuhaus.de/linux/palmconnect.html,以获取有关此驱动程序的最新信息。

Winchiphead CH341 驱动程序

此驱动程序适用于 Winchiphead CH341 USB-RS232 转换器。此芯片还实现了一个 IEEE 1284 并行端口、I2C 和 SPI,但驱动程序不支持这些。该协议是从 Windows 驱动程序的行为分析得出的,目前没有数据表。

制造商的网站:http://www.winchiphead.com/

对于此驱动程序的任何疑问或问题,请联系 frank@kingswood-consulting.co.uk

Moschip MCS7720、MCS7715 驱动程序

这些芯片存在于各种制造商销售的设备中,例如 Syba 和 Cables Unlimited。可能还有其他制造商。7720 提供两个串行端口,而 7715 提供一个串行端口和一个标准 PC 并行端口。7715 并行端口的支持由一个单独的选项启用,该选项只有在设备驱动程序配置菜单的顶层首先启用并行端口支持时才会出现。当前,仅并行端口支持兼容模式(没有 ECP/EPP)。

待办事项
  • 为并行端口实现 ECP/EPP 模式。

  • 当前高于 115200 的波特率已损坏。

  • 基于 Moschip MCS7703 的单串行端口设备可能可以使用此驱动程序,只需简单地添加到 usb_device_id 表中即可。我没有这些设备,所以我不能肯定地说。

通用串行驱动程序

如果您的设备不是上述列出的设备之一,与上述型号兼容,您可以尝试“通用”接口。此接口不提供发送到设备的任何类型的控制消息,也不支持任何类型的设备流控制。您的设备只需要至少有一个批量输入端点或一个批量输出端点。

要使通用驱动程序识别您的设备,请提供

echo <vid> <pid> >/sys/bus/usb-serial/drivers/generic/new_id

其中 <vid> 和 <pid> 替换为您的设备供应商 ID 和产品 ID 的十六进制表示形式。如果驱动程序被编译为模块,您还可以在加载模块时提供一个 ID

insmod usbserial vendor=0x#### product=0x####

此驱动程序已成功用于连接 NetChip USB 开发板,提供了一种开发 USB 固件而无需编写自定义驱动程序的方法。

对于此驱动程序的任何问题或疑问,请联系 Greg Kroah-Hartman,邮箱地址为 greg@kroah.com

联系方式

如果任何人在使用这些驱动程序,以及上述指定的任何产品时遇到任何问题,请联系上面列出的特定驱动程序的作者,或加入 Linux-USB 邮件列表(关于加入邮件列表的信息以及其可搜索的存档的链接位于 http://www.linux-usb.org/ )

Greg Kroah-Hartman greg@kroah.com