1. 準備
Cコンパイラとかカーネルヘッダとかインストールしておいてください。
2. VIA ドライバのコンパイル
(1) ソースコードを取得
http://www.viaembedded.com/en/products/boards/1890/1/VNT6656_USB_Module_/_Dongle.html
にある VT6656_Linux_src_v1.21.03_x86_11_04.zip です。
$ unzip VT6656_Linux_src_v1.21.03_x86_11_04.zip
$ cd VT6656_Linux_src_v1.21.03_x86/
(2) 修正
そのままではコンパイルできないので直します。
--- VT6656_Linux_src_v1.21.03_x86/driver/Makefile 2009-09-07 09:53:36.0000
00000 +0900
+++ work-vt6656/driver/Makefile 2013-08-07 01:51:32.655889247 +0900
@@ -24,7 +24,7 @@
endif
# check kernel version
-KVER := $(shell uname -r | cut -c1-3 | sed 's/2\.[56]/2\.6/')
+KVER := $(shell uname -r | cut -c1-3 | sed 's/2\.[56]\|3\.2/2\.6/')
KERVER2=$(shell uname -r | cut -d. -f2)
ifeq ($(KVER), 2.6)
diff -ur VT6656_Linux_src_v1.21.03_x86/driver/main_usb.c work-vt6656/driver/main
_usb.c
--- VT6656_Linux_src_v1.21.03_x86/driver/main_usb.c 2011-08-03 11:53:08.0000
00000 +0900
+++ work-vt6656/driver/main_usb.c 2013-08-07 02:23:35.573424483 +0900
@@ -387,7 +387,9 @@
.ndo_stop = device_close,
.ndo_get_stats = device_get_stats,
.ndo_start_xmit = device_xmit,
+#ifdef HAVE_MULTICAST
.ndo_set_multicast_list = device_set_multi,
+#endif
.ndo_do_ioctl = device_ioctl,
};
#endif
[追記:KVER マクロは、将来の Linux の別バージョンでは修正が必要です。要は "2.6" という値になりさえすればいいので、カーネル 2.4 以前を使わないならば、 KVER := 2.6 で十分です。]
(3) ビルド・インストール
config.h は無いので作りました。
# touch /usr/src/linux-headers-3.2.0-51-generic-pae/include/linux/config.h[追記: いきなりインストールが心配なら、 make install のかわりに非特権ユーザでただ make してみるとよいです。]
# make cleanこのへんで一度 insmod とか試してみるんでしょう。
# make install
(4) 設定
[追記: これは、モジュールにネットワークインターフェイス名(今回は eth0 が既にあったので eth1 にしました)。を割り当て、ついで、ブート時に vntwusb が読みこまれるようにします]
# cat /etc/modules.conf <-- なければ作る[追記:これでリブートしてみるのがいいでしょう。リブートしたくなければ、特権ユーザで modprobe vntwusb とします]
alias eth1 vntwusb
# cat /etc/modules <-- これも
lp
vntwusb
あとは、Ubutuのドキュメントでもみてください。
0 件のコメント:
コメントを投稿