■「dkms.conf」のエラーには「BUILT_MODULE_NAME」行を追加するといいよ。
結論から言うと、「dkms.conf」に「BUILT_MODULE_NAME」行が
不足しているためにエラーになる。
これは他の「*-dkms」も同様のようだ。
$ sudo grep NAME /usr/src/ndiswrapper-1.57/dkms.conf
PACKAGE_NAME="ndiswrapper"
BUILT_MODULE_NAME[0]="ndiswrapper"
$ sudo /usr/lib/dkms/dkms_autoinstaller start
[ ok ] dkms: running auto installation service for kernel 3.2.0-4-amd64:.
■Kernelのアップデート時のエラーの確認。
「BUILT_MODULE_NAME」が見つからないエラー。
...
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.2.0-4-amd64
dkms.conf: Error! No 'BUILT_MODULE_NAME' directive specified for record
Error! Bad conf file.
File:
does not represent a valid dkms.conf file.
linux-libc-dev:amd64 (3.2.65-1) を設定しています ...
linux-source-3.2 (3.2.65-1) を設定しています ...
$ sudo grep "Error" /var/log/apt/term.log
dkms.conf: Error! No 'BUILT_MODULE_NAME' directive specified for record
Error! Bad conf file.
dkms.conf: Error! No 'BUILT_MODULE_NAME' directive specified for record
Error! Bad conf file.
■dkmsについて
$ find /etc/kernel/ | grep dkms
/etc/kernel/header_postinst.d/dkms
/etc/kernel/prerm.d/dkms
/etc/kernel/postinst.d/dkms
$ dpkg -l *dkms* | awk '/^ii/ {print $2}'
dkms
ndiswrapper-dkms
$ sudo dkms status
dkms.conf: Error! No 'BUILT_MODULE_NAME' directive specified for record
Error! Bad conf file.
File:
does not represent a valid dkms.conf file.
$ dpkg -L ndiswrapper-dkms | grep dkms.conf
/usr/src/ndiswrapper-1.57/dkms.conf
■これは以下のバグと同じ。
Debian Bug report logs -
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=695824
■一度、新しいKernelを反映するために再起動
$ sudo shutdown -r now && exit
■モジュールは起動しているように見える。
$ find /etc/dkms /var/lib/dkms -print | grep dkms.conf
/var/lib/dkms/ndiswrapper/1.57/build/dkms.conf
$ sudo find /var/lib -type f -name "dkms.conf"
/var/lib/dkms/ndiswrapper/1.57/build/dkms.conf
$ lsmod | grep ndiswrapper
ndiswrapper 220250 0
usbcore 128741 8 xhci_hcd,ehci_hcd,usbhid,btusb,ath3k,uvcvideo,ndiswrapper
■「ndiswrapper」を削除すると問題なく起動する。
$ sudo apt-get purge -y ndiswrapper-dkms
(データベースを読み込んでいます ... 現在 179566 個のファイルとディレクトリがインストールされています。)
ndiswrapper-dkms を削除しています ...
-------- Uninstall Beginning --------
Module: ndiswrapper
Version: 1.57
Kernel: 3.2.0-4-amd64 (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
ndiswrapper.ko:
- Uninstallation
- Deleting from: /lib/modules/3.2.0-4-amd64/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod....
DKMS: uninstall completed.
------------------------------
Deleting module version: 1.57
completely from the DKMS tree.
------------------------------
Done.
$ sudo /usr/lib/dkms/dkms_autoinstaller start
[ ok ] dkms: running auto installation service for kernel 3.2.0-4-amd64:.
■ということは「ndiswrapper-dkms」パッケージの
「dkms.conf」ファイル側に問題がありそうだ。
$ sudo apt-get install -y ndiswrapper-dkms
$ sudo /usr/lib/dkms/dkms_autoinstaller start
[....] dkms: running auto installation service for kernel 3.2.0-4-amd64:dkms.conf: Error! No 'BUILT_MODULE_NAME' directive specified for record
Error! Bad conf file.
File:
does not represent a valid dkms.conf file.
. ok
■「ndiswrapper-dkms」の「dkms.conf」に「BUILT_MODULE_NAME[0]=ndiswrapper」と
書けば良さそう。
以下を参照。
http://code.openhub.net/?s=%22BUILT_MODULE_NAME%22&browser=Default?s=%22BUILT_MODULE_NAME%22&browser=Default
■というわけで復旧。
「dpkg-reconfigure」しても「dkms.conf」は変わらないことを確認。
ステータスも正常に取得出来る。
$ cat /usr/src/ndiswrapper-1.57/dkms.conf
PACKAGE_NAME="ndiswrapper"
BUILT_MODULE_NAME[0]="ndiswrapper"
PACKAGE_VERSION="1.57"
DEST_MODULE_LOCATION[0]="/updates"
AUTOINSTALL="yes"
$ sudo dpkg-reconfigure ndiswrapper-dkms
$ grep ^BUILT /usr/src/ndiswrapper-1.57/dkms.conf
BUILT_MODULE_NAME[0]="ndiswrapper"
$ sudo /usr/lib/dkms/dkms_autoinstaller start
[ ok ] dkms: running auto installation service for kernel 3.2.0-4-amd64:.
$ sudo dkms status
ndiswrapper, 1.57, 3.2.0-4-amd64, x86_64: installed