2009年4月17日 星期五

NetworkManager-0.6.6 重新連線失敗的問題

NetworkManager 算是 Linux 的桌面環境上管理無線網路連線最方便的工具之一。他提供了自動化的 AP 列表、自動連接 AP 、以及根據是否有插網路線自動切換有線/無線網路。但是 0.6.6 版的 NetworkManager 卻發生了重新連線(例如我要換個 AP )時無法取得 IP 的問題。

出現問題的時候,系統 log 會出現以下的錯誤訊息:
Couldn't send DHCP 'up' message because: name 'com.redhat.dhcp.OperationInProgress', message 'interface wlan0 is being released. Please try again later.'.
其實這個不是 NetworkManager 的問題,反而是他的相依套件 dhcdbd-3.0 的 Bug。 據說是因為 NetworkManager 命令 dhcdbd 釋放網路裝置後, dhcdbd 沒有正確的更新他自己的狀態,而是停留在"釋放中"的狀態。所以導致 NetworkManager 再次向 dhcdbd 要求取得 IP 時被拒絕。

由於 NetworkManager-0.7 以後不會繼續使用 dhcdbd,所以不知道會不會有人去把這個問題修好。目前用來作為替代方案的問題解決方法就是重新啟動 dhcdbd 服務以後再用 NetworkManager 重新連線。在 Gentoo 上就是下面這個指令:
/etc/init.d/dhcdbd restart

沒有留言: