Linux ACM 驅動 v0.16¶
版權所有 (c) 1999 Vojtech Pavlik <vojtech@suse.cz>
由 SuSE 贊助
0. 免責宣告¶
本程式是自由軟體;您可以根據自由軟體基金會發布的 GNU 通用公共許可證的條款重新分發和/或修改它;無論是許可證的第 2 版,還是(由您選擇)任何後續版本。
釋出本程式的目的是希望它有用,但不提供任何擔保;甚至沒有對適銷性或針對特定用途的適用性的暗示擔保。有關更多詳細資訊,請參閱 GNU 通用公共許可證。
您應該已經收到一份 GNU 通用公共許可證的副本以及此程式;如果沒有,請寫信給自由軟體基金會,地址為:59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
如果您需要聯絡我,作者,您可以透過電子郵件 - 將您的訊息傳送至 <vojtech@suse.cz>,或透過紙質郵件:Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic
為了您的方便,GNU 通用公共許可證第 2 版包含在軟體包中:請參閱檔案 COPYING。
1. 用法¶
drivers/usb/class/cdc-acm.c 驅動程式與符合通用序列匯流排通訊裝置類抽象控制模型 (USB CDC ACM) 規範的 USB 調變解調器和 USB ISDN 終端介面卡配合使用。
許多調變解調器都支援,以下是我所知道的列表
3Com OfficeConnect 56k
3Com Voice FaxModem Pro
3Com Sportster
MultiTech MultiModem 56k
Zoom 2986L 傳真調變解調器
Compaq 56k 傳真調變解調器
ELSA Microlink 56k
我知道有一個 ISDN TA 可以與 acm 驅動程式一起使用
3Com USR ISDN Pro TA
一些手機也透過 USB 連線。 我知道以下手機可以使用
SonyEricsson K800i
不幸的是,許多調變解調器和大多數 ISDN TA 使用專有介面,因此無法與此驅動程式一起使用。購買前檢查 ACM 合規性。
要使用調變解調器,您需要載入以下模組
usbcore.ko
uhci-hcd.ko ohci-hcd.ko or ehci-hcd.ko
cdc-acm.ko
之後,調變解調器應該可以訪問。您應該能夠將 minicom、ppp 和 mgetty 與它們一起使用。
2. 驗證它是否工作¶
第一步是檢查 /sys/kernel/debug/usb/devices,它應該看起來像這樣
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB UHCI Root Hub
S: SerialNumber=6800
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=02(comm.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 2
P: Vendor=04c1 ProdID=008f Rev= 2.07
S: Manufacturer=3Com Inc.
S: Product=3Com U.S. Robotics Pro ISDN TA
S: SerialNumber=UFT53A49BVT7
C: #Ifs= 1 Cfg#= 1 Atr=60 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=acm
E: Ad=85(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=128ms
C:* #Ifs= 2 Cfg#= 2 Atr=60 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=acm
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=128ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=acm
E: Ad=85(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
這三行(以及 Cls= “comm” 和 “data” 類)的存在很重要,這意味著它是一個 ACM 裝置。Driver=acm 表示 acm 驅動程式用於該裝置。如果您只看到 Cls=ff(vend.),那麼您就不走運了,您有一個具有供應商特定介面的裝置
D: Ver= 1.00 Cls=02(comm.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 2
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=acm
I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=acm
在系統日誌中,您應該看到
usb.c: USB new device connect, assigned device number 2
usb.c: kmalloc IF c7691fa0, numif 1
usb.c: kmalloc IF c7b5f3e0, numif 2
usb.c: skipped 4 class/vendor specific interface descriptors
usb.c: new device strings: Mfr=1, Product=2, SerialNumber=3
usb.c: USB device number 2 default language ID 0x409
Manufacturer: 3Com Inc.
Product: 3Com U.S. Robotics Pro ISDN TA
SerialNumber: UFT53A49BVT7
acm.c: probing config 1
acm.c: probing config 2
ttyACM0: USB ACM device
acm.c: acm_control_msg: rq: 0x22 val: 0x0 len: 0x0 result: 0
acm.c: acm_control_msg: rq: 0x20 val: 0x0 len: 0x7 result: 7
usb.c: acm driver claimed interface c7b5f3e0
usb.c: acm driver claimed interface c7b5f3f8
usb.c: acm driver claimed interface c7691fa0
如果這一切看起來都沒問題,請啟動 minicom 並將其設定為與 ttyACM 裝置通訊,然後嘗試鍵入“at”。如果它響應“OK”,那麼一切正常。