较新的 Linux 内核上的 Telit 调制解调器无法被识别

较新的 Linux 内核上的 Telit 调制解调器无法被识别

我有 Telit HE910 和 HE910-v2 调制解调器。从 3.13-rc4(sunxi 分支)切换到主线 3.17.2 后,我遇到了 910 问题。在正确设置调制解调器之前:

1 月 1 日 03:22:11 localhost 内核:[1331.868867] usb 1-1.1.7: 使用 sunxi-ehci 的新高速 USB 设备编号 7
1 月 1 日 03:22:11 localhost 内核:[1331.980255] usb 1-1.1.7:配置 1 接口 0 altsetting 0 端点 0x81 具有无效的 bInterval 255,更改为 11
1 月 1 日 03:22:11 localhost 内核:[1331.981915] usb 1-1.1.7:没有 of_node;未解析 pinctrl DT
1 月 1 日 03:22:14 localhost 内核:[1334.448000] usb 1-1.1.7:USB 断开连接,设备编号 7
1 月 1 日 03:22:15 localhost 内核:[1335.448864] usb 1-1.1.7: 使用 sunxi-ehci 的新高速 USB 设备编号 8
1 月 1 日 03:22:15 localhost 内核:[1335.585512] usb 1-1.1.7:没有 of_node;未解析 pinctrl DT
1 月 1 日 03:22:15 localhost 内核:[1335.597579] 选项 1-1.1.7:1.0:没有 of_node;未解析 pinctrl DT
1 月 1 日 03:22:15 localhost 内核:[1335.597711] 选项 1-1.1.7:1.0:检测到 GSM 调制解调器(1 端口)转换器
1 月 1 日 03:22:15 localhost 内核:[1335.598044] option1 ttyUSB0:没有 of_node;未解析 pinctrl DT
1 月 1 日 03:22:15 localhost 内核:[1335.601305] usb 1-1.1.7:GSM 调制解调器(1 端口)转换器现已连接到 ttyUSB0
1 月 1 日 03:22:15 localhost 内核:[1335.602329] 选项 1-1.1.7:1.1:没有 of_node;未解析 pinctrl DT
1 月 1 日 03:22:15 localhost 内核:[1335.602451] 选项 1-1.1.7:1.1:检测到 GSM 调制解调器(1 端口)转换器
1 月 1 日 03:22:15 localhost 内核:[1335.602564] option1 ttyUSB1:没有 of_node;未解析 pinctrl DT
1 月 1 日 03:22:15 localhost 内核:[1335.603246] usb 1-1.1.7:GSM 调制解调器(1 端口)转换器现已连接到 ttyUSB1

现在仅识别每个第二个端点(0a 类 - 数据):

1 月 1 日 03:03:26 localhost 内核:[206.979757] usb 1-1.1.7:使用 ehci-platform 的新高速 USB 设备编号 7
1 月 1 日 03:03:27 localhost 内核:[207.091275] usb 1-1.1.7:配置 1 接口 0 altsetting 0 端点 0x81 具有无效的 bInterval 255,更改为 11
1 月 1 日 03:03:29 localhost 内核:[209.557516] usb 1-1.1.7:USB 断开连接,设备编号 7
1 月 1 日 03:03:30 localhost 内核:[210.559763] usb 1-1.1.7:使用 ehci-platform 的新高速 USB 设备编号 8
1 月 1 日 03:03:30 localhost 内核:[210.697613] 选项 1-1.1.7:1.0:检测到 GSM 调制解调器(1 端口)转换器
1 月 1 日 03:03:30 localhost 内核:[210.699571] 选项 1-1.1.7:1.1:检测到 GSM 调制解调器(1 端口)转换器
1 月 1 日 03:03:30 localhost 内核:[210.703193] usb 1-1.1.7:GSM 调制解调器(1 端口)转换器现已连接到 ttyUSB1

对于这两个内核,我已将相应的供应商/devid 对添加到 option.c 中。

910v2 在两个内核上都能正常运行,但组织方式不同(为了简洁起见,我提供了 usb-devices 输出):

T:总线=01 Lev=03 Prnt=03 端口=04 Cnt=03 设备编号= 9 Spd=480 MxCh= 0
D:Ver=2.00 Cls=00(>ifc)Sub=00 Prot=00 MxPS=64 #Cfgs=1
P:供应商=1bc7 产品编号=1010 修订版本=00.00
S:制造商 = Telit Wireless Solutions
S:产品=Telit HS-USB 调制解调器
C:#Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
我:如果#= 0 Alt= 0 #EPs= 2 Cls=ff(销售) Sub=ff Prot=ff 驱动程序=选项
我:如果#= 1 Alt= 0 #EPs= 2 Cls=ff(销售) Sub=ff Prot=ff 驱动程序=选项
我:如果#= 2 Alt= 0 #EPs= 3 Cls=ff(销售) Sub=ff Prot=ff 驱动程序=选项
我:如果#= 3 Alt= 0 #EPs= 3 Cls=ff(销售) Sub=ff Prot=ff 驱动程序=选项

HE910 看起来像这样:

T:总线=01 Lev=03 Prnt=03 端口=06 Cnt=04 设备编号=11 Spd=480 MxCh= 0
D:版本=2.00 Cls=02(通信)Sub=00 Prot=00 MxPS=64 #Cfgs=1
P:供应商=1bc7 ProdID=0021 Rev=16.70
S:制造商=Telit wireless solutions
S:产品=Telit 无线模块
序列号:序列号=357164040583455
C:#Ifs=14 Cfg#= 1 Atr=e0 MxPwr=100mA
我:如果#= 0 Alt= 0 #EPs= 1 Cls=02(通信) Sub=02 Prot=01 驱动程序=选项
我:如果#= 1 Alt= 0 #EPs= 2 Cls=0a(数据) Sub=00 Prot=00 驱动程序=选项
/usr/bin/usb-devices:第 79 行:printf:a:无效数字
我:如果#= 0 Alt= 0 #EPs= 1 Cls=02(通信) Sub=02 Prot=01 驱动程序=选项
/usr/bin/usb-devices:第 79 行:printf:b:无效数字
我:如果#= 0 Alt= 0 #EPs= 2 Cls=0a(数据) Sub=00 Prot=00 驱动程序=选项
/usr/bin/usb-devices:第 79 行:printf:c:无效数字
我:如果#= 0 Alt= 0 #EPs= 1 Cls=02(通信) Sub=02 Prot=01 驱动程序=选项
/usr/bin/usb-devices:第 79 行:printf:d:无效数字
我:如果#= 0 Alt= 0 #EPs= 2 Cls=0a(数据) Sub=00 Prot=00 驱动程序=选项
我:如果#= 2 Alt= 0 #EPs= 1 Cls=02(通信) Sub=02 Prot=01 驱动程序=选项
我:如果#= 3 Alt= 0 #EPs= 2 Cls=0a(数据) Sub=00 Prot=00 驱动程序=选项
我:如果#= 4 Alt= 0 #EPs= 1 Cls=02(通信) Sub=02 Prot=01 驱动程序=选项
我:如果#= 5 Alt= 0 #EPs= 2 Cls=0a(数据) Sub=00 Prot=00 驱动程序=选项
我:如果#= 6 Alt= 0 #EPs= 1 Cls=02(通信) Sub=02 Prot=01 驱动程序=选项
我:如果#= 7 Alt= 0 #EPs= 2 Cls=0a(数据) Sub=00 Prot=00 驱动程序=选项
我:如果#= 8 Alt= 0 #EPs= 1 Cls=02(通信) Sub=02 Prot=01 驱动程序=选项
我:如果#= 9 Alt= 0 #EPs= 2 Cls=0a(数据) Sub=00 Prot=00 驱动程序=选项

因此我相信这可能在某种程度上取决于班级。

谁能指导我该去哪里解决这个问题?

答案1

尝试使用 加载“选项”驱动程序 ( /drivers/usb/serial/option.ko) modprobe。我还没有cdc-acm在 Linux 3.14 下识别 DR910-DUAL,但选项显示/dev/ttyUSB0:/dev/ttyUSB3并且它们似乎可以工作。

相关内容