ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2012年8月9日 星期四

usb auto_suspend & wakeup

奇怪,一個 usb hub 在 xp 下可以正常動作,在 7 下就 fail。

-- 發現只要 hub 上一直有插著裝置,就OK。

一旦 hub 空了,3,4 sec 後, hub 上的clk 就停了。
在 xp 上,即使 hub 空了,clk 也不會停。



大概是因為 7 的 usb driver 有 auto suspend 吧。
hub 支援 auto-suspend,所以 7 在問 hub 時,知道他可以 auto-suspend。
所以當 hub 上沒東西的時候,過一段時間, 7 就、把他 suspend 了。

為了配合,還要有 wakeup 功能。
一旦 suspend 後,只要有東西插入 hub,hub 就會發出 interrupt,通知 7。

這個wakeup function 在 linux source code 是(以 imx51 為例):
arch/arm/mach-mx5/usb_dr.c

沒有留言:

標籤

網誌存檔