[問題] 有關Linux USB HIDDEV控制問題

看板LinuxDev作者 (無聊的章魚)時間16年前 (2008/11/05 15:15), 編輯推噓4(4015)
留言19則, 2人參與, 最新討論串1/1
我採用的是核心2.6.24版本 我希望能夠透過USB控制我所設計的USB從裝置介面 當我的USB從裝置插入我的系統時,dev底下確實有顯示hiddev0的節點 我透過open方法打開裝置節點,也可透過ioctl方法控制該裝置端點資料傳輸 可是我現在發現一個問題,就是當我送出的端點資料每Byte超過0x7f以後 USB送出去的資料都會為0x7f,想請問這要從核心原始碼哪裡修改呢?? 我已經看核心原始碼看兩天了~~但是我找不到原始碼內容需要修改 請各位先進請指點指點!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.31.132

11/06 20:47, , 1F
問題很模糊,譬如"當我送出的端點資料",人傳資料?
11/06 20:47, 1F

11/07 11:25, , 2F
應該說是我透過核心中hiddev標頭檔所提供的ioctl方法
11/07 11:25, 2F

11/07 11:27, , 3F
撰寫程式,送出OUT端點資料為64Byte的0x81,可是送出去
11/07 11:27, 3F

11/07 11:28, , 4F
的端點資料會直接變成64Byte的0x7f,反觀我送出去改為
11/07 11:28, 4F

11/07 11:30, , 5F
64Byte的0x70,則送出去的資料就為正常的0x70,這部份我
11/07 11:30, 5F

11/07 11:30, , 6F
我就不知道該如何處理了。
11/07 11:30, 6F

11/10 23:23, , 7F
那如果你送 0x55 0xaa 0x55 0xaa ... 0x55 0xaa 呢?
11/10 23:23, 7F

11/10 23:24, , 8F
如果送 0xfe, 0xef, ... 0xfe, 0xef 又會得到什麼呢?
11/10 23:24, 8F

11/11 01:12, , 9F
只要超過7f的資料,就會變成7f,所以0x55 0xaa 會變成
11/11 01:12, 9F

11/11 01:13, , 10F
0x55 0x7f 的樣子下去,如果是0xfe 0xef 的話,會全部都
11/11 01:13, 10F

11/11 01:14, , 11F
變成0x7f,這部份程式我在使用核心2.18版本時比較不會有
11/11 01:14, 11F

11/11 01:15, , 12F
有問題,但是到2.6.24的版本就出問題了
11/11 01:15, 12F

11/11 01:45, , 13F
不曉得 unsigned char 與signed char會不會有影響?
11/11 01:45, 13F

11/11 01:45, , 14F
不要理我 ... just guess
11/11 01:45, 14F

11/11 02:04, , 15F
你說的解決方法我也試過~~一樣不行說~~
11/11 02:04, 15F

11/11 02:05, , 16F
我拿過底層的核心程式碼與網路上提供的核心碼比較過,也
11/11 02:05, 16F

11/11 02:06, , 17F
也沒發現有任何不同問題之處
11/11 02:06, 17F

11/11 20:02, , 18F
建議找驗證方法,先確定硬體部份ok,然後再來看程式碼。
11/11 20:02, 18F

11/11 20:03, , 19F
你之前只有測 0x81嗎 ? 其它所有的數字是否都確實實測過?
11/11 20:03, 19F
文章代碼(AID): #194KW3qu (LinuxDev)
文章代碼(AID): #194KW3qu (LinuxDev)