看板 LinuxDev 關於我們 聯絡資訊
我採用的是核心2.6.24版本 我希望能夠透過USB控制我所設計的USB從裝置介面 當我的USB從裝置插入我的系統時,dev底下確實有顯示hiddev0的節點 我透過open方法打開裝置節點,也可透過ioctl方法控制該裝置端點資料傳輸 可是我現在發現一個問題,就是當我送出的端點資料每Byte超過0x7f以後 USB送出去的資料都會為0x7f,想請問這要從核心原始碼哪裡修改呢?? 我已經看核心原始碼看兩天了~~但是我找不到原始碼內容需要修改 請各位先進請指點指點!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.31.132
milochen:問題很模糊,譬如"當我送出的端點資料",人傳資料? 11/06 20:47
polol258:應該說是我透過核心中hiddev標頭檔所提供的ioctl方法 11/07 11:25
polol258:撰寫程式,送出OUT端點資料為64Byte的0x81,可是送出去 11/07 11:27
polol258:的端點資料會直接變成64Byte的0x7f,反觀我送出去改為 11/07 11:28
polol258:64Byte的0x70,則送出去的資料就為正常的0x70,這部份我 11/07 11:30
polol258:我就不知道該如何處理了。 11/07 11:30
milochen:那如果你送 0x55 0xaa 0x55 0xaa ... 0x55 0xaa 呢? 11/10 23:23
milochen:如果送 0xfe, 0xef, ... 0xfe, 0xef 又會得到什麼呢? 11/10 23:24
polol258:只要超過7f的資料,就會變成7f,所以0x55 0xaa 會變成 11/11 01:12
polol258:0x55 0x7f 的樣子下去,如果是0xfe 0xef 的話,會全部都 11/11 01:13
polol258:變成0x7f,這部份程式我在使用核心2.18版本時比較不會有 11/11 01:14
polol258:有問題,但是到2.6.24的版本就出問題了 11/11 01:15
milochen:不曉得 unsigned char 與signed char會不會有影響? 11/11 01:45
milochen:不要理我 ... just guess 11/11 01:45
polol258:你說的解決方法我也試過~~一樣不行說~~ 11/11 02:04
polol258:我拿過底層的核心程式碼與網路上提供的核心碼比較過,也 11/11 02:05
polol258:也沒發現有任何不同問題之處 11/11 02:06
milochen:建議找驗證方法,先確定硬體部份ok,然後再來看程式碼。 11/11 20:02
milochen:你之前只有測 0x81嗎 ? 其它所有的數字是否都確實實測過? 11/11 20:03