知識社群
登入
中文(台灣)
English(US)
Q&A
線上人數:
337
回首頁
最新活動
(34)
公佈欄
最新公告
近期課程
技術專欄
Android
嵌入式Linux
韌體設計
FPGA / Verilog
站上資源
線上教學
文件總覽
廠商徵才
專業論壇
(1315)
推廣成果
學員專題
Android I/O Workshop
Android 企業產訓專班
活動花絮
(58)
專班學員資訊平台
102年嵌入式軟韌體設計工程師養成班
102年JAVA程式設計班
102Linux網路工程師-LPI認證養成班
嵌入式Linux就業班第二梯次
嵌入式Linux就業班第三梯次
101年 Android設計班(2)
101年 Android設計班(1)
公告
艾鍗學院成立滿十週年了!十年一遇的超值回饋,獻給堅持學習的你~
(03-12)
【2019下半年課程行事曆】政府+企業雙重補助,AI人才養成計劃開跑
(07-10)
IT TRAINING 2019上半年最新技術培訓一覽
(03-13)
[
more
]
最新消息
文件分類
[
總覽
]
廠商徵才資訊
(215)
學員專題成果
(31)
研討會活動專區
(5)
Android 專欄
(19)
活動簡報檔
(2)
線上教學 Training Video
(24)
韌體設計相關
(17)
Embedded LInux 專欄
(54)
Raspberry Pi
(4)
FPGA/Verilog 專欄
(14)
小品文章
(37)
未分類文件
(28)
101年 Android 應用軟體設計班
(4)
基礎C程式&資料結構
(8)
嵌入式Linux就業班第二梯次
(20)
101年臺北市政府勞工局職業訓練中心-Android APP 軟體開發人才培訓就業班
(16)
102年Linux網路工程師-LPI認證養成班
(9)
102年JAVA程式設計班
(2)
102年嵌入式軟韌體設計工程師養成班
(6)
Access VBA
(5)
Excel VBA
(4)
產業訊息
(2)
PCB Layout
(7)
電子電路
(6)
專班文件區
嵌入式Linux就業班第三梯次
(13)
社群資訊
訪客: 3179442
文章: 557
討論: 1315
公告: 31
容量: 剩餘
2.4 GB
(4 GB)
閱讀權限: 開放
分類:
教育學習 / 軟體系統
版主: 艾鍗學院
副版主: 無
位置:
艾鍗學院 Blog
>
專業論壇
>
討論
USB 3g modem in embedded linux
(Geo, 2011-05-18 14:00)
1樓
Hi 我是有上過驅動程式的學員
請教 范老師,目前在做USB 3g modem 驅動程式
一般而言,USB 3g modem 的撥號界面,是要透過 USB-serial 將其掛在 /dev/ttyUSB*
與 AP 作上網撥號應用。
有些網卡,插入時會掛載出 /dev/ttyUSB*(USB-serial) 及 /dev/sda(Mass-Storage),
但有些網卡,只有 /dev/sda(Mass-Storage).
我修改 usb/serial/option.c 在結構 usb_device_id[ ]加入vendor id 及 product id,
USB-serial驅動程式註冊,沒發生問題。
插入只有 /dev/sda 的USB 3G 網卡時, 在
USB-serial
卻沒有執行 probe() 的動作,
請問老師,可以給個方向嗎?
簡單的來說~ USB bus driver 是OK,但USB tty class driver 無法成功。
謝謝.
(Anonymous, 2011-05-20 12:11)
2樓
1. 沒有註冊,所以Platform Device 不會call probe()
Note: kernel opitin enable : CONFIG_USB_ACM
2, 去google 找一下 usb_modeswitch 程式.
(Geo, 2011-05-20 14:15)
3樓
昨天~我已經解出來了.....USB driver 觀念又進一步
不過,不是用
Anonymous
的方法~sorry
正本清源~還是修好driver,
usb_modeswitch 可以當作輔助啦!
還是~希望 范老師 能給個回應,請多指教^^
(Wei, 2012-06-22 19:47)
4樓
我純粹只是路人也沒修過課,只是工作上很常在嵌入式系統porting 3G dongle USB card
因為有的3G卡,他本身預設只有儲存裝置介面,並且裡面擺著驅動程式
目的是要讓WINDOWS先安裝驅動,安裝完後,WINDOWS在驅動的幫助下就會把他轉為modem 模式了
想必樓主遇到的是這類的3G卡(我遇過的卡大部份都是這類的)
如今要在LINUX上運作,就是要想辦法讓3G卡轉換到modem模式(因為儲存裝置模式下的驅動對LINUX來說沒用處)
要轉換的做法我知道有兩種,基本上都是要先能跟3G卡溝通(那一開始至少有抓到儲存裝置模式)
第一種就是USB_MODESWITCH
第二種則是修改kernel driver中usb/storage的驅動,抓到這個儲存裝置時,會下命令叫這張USB卡轉成modem模式
然後再讓usb/serial的驅動來使用這個3G modem
這兩種方式其實是一樣的
差別只在USB_MODESWITCH這套軟體,他是透過LIBUSB這個LIB套件
把kernel space的usb操作功能提升到user space上
而他做的事一樣也是對儲存裝置的USB卡下指令,要求他更改模式為modem
以上是我所知的,有錯請糾正
也如果 樓主用的是其他方式其他概念的技巧
希望也可以分享一下 謝謝
因為有的3G卡,他本身預設只有儲存裝置介面,並且裡面擺著驅動程式
目的是要讓WINDOWS先安裝驅動,安裝完後,WINDOWS在驅動的幫助下就會把他轉為modem 模式了
想必樓主遇到的是這類的3G卡(我遇過的卡大部份都是這類的)
如今要在LINUX上運作,就是要想辦法讓3G卡轉換到modem模式(因為儲存裝置模式下的驅動對LINUX來說沒用處)
要轉換的做法我知道有兩種,基本上都是要先能跟3G卡溝通(那一開始至少有抓到儲存裝置模式)
第一種就是USB_MODESWITCH
第二種則是修改kernel driver中usb/storage的驅動,抓到這個儲存裝置時,會下命令叫這張USB卡轉成modem模式
然後再讓usb/serial的驅動來使用這個3G modem
這兩種方式其實是一樣的
差別只在USB_MODESWITCH這套軟體,他是透過LIBUSB這個LIB套件
把kernel space的usb操作功能提升到user space上
而他做的事一樣也是對儲存裝置的USB卡下指令,要求他更改模式為modem
以上是我所知的,有錯請糾正
也如果 樓主用的是其他方式其他概念的技巧
希望也可以分享一下 謝謝