Re: [心得] 微軟的driver架構 = BullShit
舉個大家都會覺得理所當然了例子
就是每台電腦都有的USB讀卡機
卡片插拔OS就會自動幫你mount/umount
這應該是很基本很理所當然的功能吧
甚至還會autorun或自動在桌面幫你建個捷徑
但是同樣的功能在某embedded linux系統上卻搞半天才弄出個樣子
該版子使用linux 2.6.18 kernel, busybox(舊版) ...
也有USB介面
照理說應該只要把該有的kernel module build起來就能跑
但實際做起來卻問題重重
最終還是辦不到像PC那樣子的結果
因為Linux本身的help就不如windows, windows CE來的多
而這個功能本身又太簡單太基本太過理所當然
所以很少人會碰到類似的問題然後提出問題
而找到的解答也大多都只適用在PC上
所以就亂try一通
hotplug, udev, mdev, d-bus, ...
各種不知道之間到底有何關係的東西好像都跟讀卡機有相關
然後還發現舊版的busybox mdev好像有bug
新版的busybox又build不起來
自己mknod
偏偏系統上又還有SATA介面及其他mass storage裝置
各種開機順序或插拔排列組合還會導致mount時要透過很麻煩的判斷
來確定目前的裝置究竟是否為讀卡機
然後才能將node mount到正確的folder
而且只能mount一個partition進來
然後又發現hotplug根本無法偵測到卡片插拔
可是同樣的讀卡機在PC上卻可以被正確偵測到卡片插拔
後來修改hardware拉GPIO
額外寫程式來偵測卡片插拔
搞了半天
最終結果還只是差強人意
demo給人家看人家只會覺得
怎麼這麼遜
這個功能不是很簡單嗎
每台電腦都有的啊
不就是個讀卡機而已嗎
我是不是也可以講
Linux driver架構根本就是BullShit
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.82.63.120
※ 編輯: meltice 來自: 115.82.63.120 (08/27 01:30)
推
08/27 01:44, , 1F
08/27 01:44, 1F
→
08/27 01:45, , 2F
08/27 01:45, 2F
推
08/27 02:01, , 3F
08/27 02:01, 3F
→
08/27 12:13, , 4F
08/27 12:13, 4F
→
08/27 12:17, , 5F
08/27 12:17, 5F
→
08/27 12:18, , 6F
08/27 12:18, 6F
→
08/27 12:18, , 7F
08/27 12:18, 7F
→
08/27 12:20, , 8F
08/27 12:20, 8F
→
08/27 12:23, , 9F
08/27 12:23, 9F
→
08/27 12:25, , 10F
08/27 12:25, 10F
→
08/27 23:15, , 11F
08/27 23:15, 11F
討論串 (同標題文章)
完整討論串 (本文為第 5 之 7 篇):
Soft_Job 近期熱門文章
28
62
PTT職涯區 即時熱門文章