2012年3月28日 星期三

解決chakra上開機時udevd的錯誤訊息問題

Sat Mar 24 21:00:39 2012: :: Adjusting system time and setting kernel timezone [BUSY] [DONE]
Sat Mar 24 21:00:39 2012: :: Starting UDev Daemon [BUSY] [DONE]
Sat Mar 24 21:00:39 2012: :: Triggering UDev uevents [BUSY] [DONE]
Sat Mar 24 21:00:39 2012: :: Loading User-specified Modules [BUSY] [DONE]
Sat Mar 24 21:00:39 2012: :: Waiting for UDev uevents to be processed [BUSY] udevd[135]: worker [156] timeout, kill it
Sat Mar 24 21:00:39 2012:
Sat Mar 24 21:00:39 2012: udevd[135]: seq 1197 '/devices/pci0000:00/0000:00:1c.1/0000:03:00.0' killed
Sat Mar 24 21:00:39 2012:
Sat Mar 24 21:00:39 2012: [DONE]
Sat Mar 24 21:00:39 2012: :: Bringing up loopback interface [BUSY] udevd[135]: worker [156] terminated by signal 9 (Killed)
Sat Mar 24 21:00:39 2012:
Sat Mar 24 21:00:39 2012: [DONE]

好像是在1月份的時候更新完kernel就出現這個問題,
開機時候會多花了30秒在waiting,因為一直對我的系統沒造成什麼影響,
所以也沒怎麼理他,不過拖慢開機速度這點實在有點惱人,
這幾天在查這個問題,終於搞定了。

首先你的udev必須是 181-5的版本
pacman -Q udev
udev 181-5

如果沒有的話,記得去升級一下
然後查看一下你的/var/log/boot
看一下出問題的是哪個裝置
我的訊息是長這個樣子
udevd[135]: seq 1197 '/devices/pci0000:00/0000:00:1c.1/0000:03:00.0' killed
然後我用lspci -vv|less,找到03:00.0,看看是什麼東西
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)
        Subsystem: Realtek Semiconductor Co., Ltd. Device e020
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 17
        Region 0: I/O ports at 2000 [size=256]
        Region 1: Memory at f4300000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: rtl8192se
        Kernel modules: rtl8192se

原來是我的網卡,看到這行 Kernel modules: rtl8192se
得知kernel是用rtl8192se的模組來驅動網卡,
於是我先將/etc/rc.conf中的MODULES中的rtl8192se給刪除,
然後再新增/etc/modprobe.d/rtl8192se_blacklist.conf的檔案
內容是
blacklist rtl8192se
接下來重開機後發現該錯誤訊息已經消失了,
不過網卡卻沒有被自動啟動,
於是我在/etc/rc.local中再新增一行
modprobe rtl8192se
來讓他開機時自動啟動網卡,
如此一來就大功告成了。

參考來源: