お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2009-12-30 17:00:26

jackalope
メンバ
登録日: 2009-01-01

Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

Ubuntu 9.10 でUSBタイプの無線LAN子機PLANEX GW-US54GXSが使えない。
Ubuntu 9.04 では使えていた。
常用していないのでアップデートで使えるようになるまで放置していたところ、当フォーラムで使えたという書き込みがあるのでパッケージを最新にしたが使えない、リポジトリにbackportsとproposedも追加してみたが使えない。
パッケージ配布サーバーから最新のカーネル2.6.32-9-genericをダウンロードしてインストールしたが使えない。
アップデートが期待できないのでカーネルソースにパッチを当てドライバzd1211rwをリビルドしました。

--手順--
1.カーネルをリビルドできる環境を整える。

sudo aptitude build-dep linux-image-$(uname -r)

2.カーネルソースを入手。

sudo aptitude install linux-source

3.カーネルソースの展開。

/usr/src/にlinux-source-2.6.31.tar.bz2ができているので
sudo tar jxvf linux-source-2.6.31.tar.bz2

4.カーネルソースにパッチを当てる。
2ヶ所だけなので下記の操作が面倒であればエディタで該当個所を変更してもいいです。

diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c
index 6d66635..b0d32c4 100644
--- a/drivers/net/wireless/zd1211rw/zd_mac.c
+++ b/drivers/net/wireless/zd1211rw/zd_mac.c
@@ -42,6 +42,7 @@  static struct zd_reg_alpha2_map reg_alpha2_map[] = {
    { ZD_REGDOMAIN_ETSI, "DE" }, /* Generic ETSI, use most restrictive */
    { ZD_REGDOMAIN_JAPAN, "JP" },
    { ZD_REGDOMAIN_JAPAN_ADD, "JP" },
+    { ZD_REGDOMAIN_JAPAN_3, "JP" },
    { ZD_REGDOMAIN_SPAIN, "ES" },
    { ZD_REGDOMAIN_FRANCE, "FR" },
};
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.h b/drivers/net/wireless/zd1211rw/zd_mac.h
index 7c27591..9701935 100644
--- a/drivers/net/wireless/zd1211rw/zd_mac.h
+++ b/drivers/net/wireless/zd1211rw/zd_mac.h
@@ -193,6 +193,7 @@  struct zd_mac {
#define ZD_REGDOMAIN_FRANCE    0x32
#define ZD_REGDOMAIN_JAPAN_ADD    0x40
#define ZD_REGDOMAIN_JAPAN    0x41
+#define ZD_REGDOMAIN_JAPAN_3    0x49

enum {
    MIN_CHANNEL24 = 1,

上記のパッチをファイル名zd1211rw_2.6.31_patchで/usr/src/に保存。

cd /usr/src/linux-source-2.6.31
sudo patch -p1 < ../zd1211rw_2.6.31_patch

5.リビルド
カーネルごとリビルドする時は以下不要。
私の環境ではカーネルのリビルドは数時間かかりますので、zd1211rwだけのリビルドをしました。
/usr/src/linux-source-2.6.31/drivers/net/wireless/zd1211rw/以下の全てのファイルを適当な作業ディレクトリにコピーします。

mkdir ~/zd1211rw
cp /usr/src/linux-source-2.6.31/drivers/net/wireless/zd1211rw/* ~/zd1211rw

~/zd1211rw/Makefileの変更

obj-m += zd1211rw.o

zd1211rw-objs := zd_chip.o zd_mac.o \
        zd_rf_al2230.o zd_rf_rf2959.o \
        zd_rf_al7230b.o zd_rf_uw2453.o \
        zd_rf.o zd_usb.o

KDIR    :=/lib/modules/$(shell uname -r)/build
PWD    := $(shell pwd)

all:
    $(MAKE) -C $(KDIR) M=$(PWD) modules
clean:

    $(MAKE) -C $(KDIR) M=$(PWD) clean

上記を~/zd1211rw/Makefileで保存。
ディレクトリ~/zd1211rwでmakeすればzd1211rw.koができるので、/lib/modules/2.6.31-16-geniric/...にコピー

cd ~/zd1211rw
make
sudo cp zd1211rw.ko /lib/modules/2.6.31.-16-generic/kernel/drivers/net/wireless/zd1211rw/
sudo depmod -a

古いドライバがロードされている時は、
sudo rmmod zd1211rw
後、子機をUSBに挿して以下の様なdmesgの結果が得られれば完了。

[ 4856.236027] usb 1-7: new high speed USB device using ehci_hcd and address 3
[ 4856.369736] usb 1-7: configuration #1 chosen from 1 choice
[ 4856.504033] usb 1-7: reset high speed USB device using ehci_hcd and address 3
[ 4856.655435] phy0: Selected rate control algorithm 'minstrel'
[ 4856.656859] zd1211rw 1-7:1.0: phy0
[ 4856.656898] usbcore: registered new interface driver zd1211rw
[ 4856.711621] udev: renamed network interface wlan0 to wlan1
[ 4856.723606] usb 1-7: firmware: requesting zd1211/zd1211b_ub
[ 4856.784058] usb 1-7: firmware: requesting zd1211/zd1211b_uphr
[ 4856.832943] zd1211rw 1-7:1.0: firmware version 4725
[ 4856.872953] zd1211rw 1-7:1.0: zd1211b chip 2019:5303 v4810 high 00-22-cf AL2230_RF pa0 ---N-
[ 4856.876448] cfg80211: Calling CRDA for country: JP
[ 4856.880650] cfg80211: Regulatory domain changed to country: JP
[ 4856.880657]     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 4856.880664]     (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[ 4856.880669]     (2457000 KHz - 2482000 KHz @ 20000 KHz), (N/A, 2000 mBm)
[ 4856.880675]     (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm)
[ 4856.880680]     (4910000 KHz - 4930000 KHz @ 10000 KHz), (N/A, 2300 mBm)
[ 4856.880685]     (4910000 KHz - 4990000 KHz @ 40000 KHz), (N/A, 2300 mBm)
[ 4856.880690]     (4930000 KHz - 4950000 KHz @ 10000 KHz), (N/A, 2300 mBm)
[ 4856.880695]     (5030000 KHz - 5045000 KHz @ 10000 KHz), (N/A, 2300 mBm)
[ 4856.880700]     (5030000 KHz - 5090000 KHz @ 40000 KHz), (N/A, 2300 mBm)
[ 4856.880706]     (5050000 KHz - 5060000 KHz @ 10000 KHz), (N/A, 2300 mBm)
[ 4856.880711]     (5170000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[ 4856.880716]     (5250000 KHz - 5330000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[ 4856.880721]     (5490000 KHz - 5710000 KHz @ 40000 KHz), (N/A, 2300 mBm)
[ 4856.898377] ADDRCONF(NETDEV_UP): wlan1: link is not ready
[ 4863.727956] wlan1: authenticate with AP 01:0d:02:91:ac:5c
[ 4863.730330] wlan1: authenticated
[ 4863.730336] wlan1: associate with AP 02:0d:02:91:ac:6c
[ 4863.732578] wlan1: RX AssocResp from 03:0d:02:91:ac:7c (capab=0x411 status=0 aid=1)
[ 4863.732584] wlan1: associated
[ 4863.733751] ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready

正攻法かどうかは分かりませんが子機は使えるようになりました。
--以上--

オフライン

 

#2 2010-01-09 10:45:04

west125
新しいメンバ
登録日: 2009-11-07

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

5.リビルド において、

make をしたところ、 make: `all' に対して行うべき事はありません.

というメッセージがでてしまいます。

よろしければ教えていただけないでしょうか。

オフライン

 

#3 2010-01-09 15:45:18

jackalope
メンバ
登録日: 2009-01-01

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

たぶん下記が原因でしょう。

---Makefile---

    $(MAKE) -C $(KDIR) M=$(PWD) modules
^^^ <--ここは空白文字ではなくタブ文字(Tabキーで入力)です。

make後の下記の2行の操作を含めたMakefileを作りましたのでこちらを使って下さい。

sudo cp zd1211rw.ko /lib/modules/2.6.31.-16-generic/kernel/drivers/net/wireless/zd1211rw/
sudo depmod -a

コマンドはmake後sudo make installです。
2.6.31-17-genericで確認済みです。

---Makefile(New)---

obj-m += zd1211rw.o

zd1211rw-objs := zd_chip.o zd_mac.o \
        zd_rf_al2230.o zd_rf_rf2959.o \
        zd_rf_al7230b.o zd_rf_uw2453.o \
        zd_rf.o zd_usb.o

KDIR    :=/lib/modules/$(shell uname -r)/build
PWD    := $(shell pwd)
MDIR    :=/lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/zd1211rw/
MNAME    :=zd1211rw.ko
MNAME_BK    :=zd1211rw.ko_backup

all:
    $(MAKE) -C $(KDIR) M=$(PWD) modules

clean:
    $(MAKE) -C $(KDIR) M=$(PWD) clean

install:
    mv $(MDIR)$(MNAME) $(MDIR)$(MNAME_BK)
    cp $(PWD)/$(MNAME) $(MDIR)
    depmod -a $(shell uname -r)

uninstall:
    mv $(MDIR)$(MNAME_BK) $(MDIR)$(MNAME)
    depmod -a $(shell uname -r)

オフライン

 

#4 2010-01-17 10:06:35

west125
新しいメンバ
登録日: 2009-11-07

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

jackalope 様
  成果報告です。私の実験用マシンでもできました。青いLEDがパカパカと点滅しております。有難うございました。

オフライン

 

#5 2010-03-07 00:56:33

saromecheel
新しいメンバ
登録日: 2010-03-07

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

素晴らしい!!!
助かりました。

オフライン

 

#6 2010-03-15 15:58:51

jackalope
メンバ
登録日: 2009-01-01

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

カーネルがアップデートされたので違う方法でやってみました。

手順:
1.sudo mv /lib/modules/2.6.31-20-generic/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko /lib/modules/2.6.31-20-generic/kernel/drivers/net/wireless/zd1211rw/zd1211rw.bak
2.mkdir ~/linux
3.cd ~/linux
4.apt-get source linux-image-$(uname -r)
5.zd_mac.cとzd_mac.hを変更
6.make -C /lib/modules/$(uname -r)/build M=$(pwd)/linux-2.6.31/drivers/net/wireless/zd1211rw module && sudo make -C /lib/modules/$(uname -r)/build M=$(pwd)/linux-2.6.31/drivers/net/wireless/zd1211rw modules_install

makeをやり直すときは、make -C /lib/modules/$(uname -r)/build M=$(pwd)/linux-2.6.31/drivers/net/wireless/zd1211rw cleanを実行してからmakeします。

オフライン

 

#7 2010-04-04 18:09:07

治朗丸2010
新しいメンバ
登録日: 2010-04-04

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

こんにちは。初心者ですのでご教示頂けませんでしょうか。

> 5.zd_mac.cとzd_mac.hを変更

は、どのようなコマンドを入力したらよろしいでしょうか?

お願い致します。

オフライン

 

#8 2010-04-05 11:54:11

jackalope
メンバ
登録日: 2009-01-01

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

#1の「4.カーネルソースにパッチを当てる。」を参考にして貴方のお好きなテキストエディタでファイルを編集してください。
@@の後の数字が変更する箇所の行数で、行頭に+が付いている行が追加する内容です。

オフライン

 

#9 2010-05-05 06:05:53

west125
新しいメンバ
登録日: 2009-11-07

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

6.make において、下記のメッセージがでてしまいます。

よろしければ教えていただけないでしょうか。
----------ここから----------
[email protected]:~/linux$ make -C /lib/modules/$(uname -r)/build M=$(pwd)/linux-2.6.32/drivers/net/wireless/zd1211rw module && sudo make -C /lib/modules/$(uname -r)/build M=$(pwd)/linux-2.6.32/drivers/net/wireless/zd1211rw modules_install
make: ディレクトリ `/usr/src/linux-headers-2.6.32-21-generic' に入ります
make: *** ターゲット `module' を make するルールがありません.  中止.
make: ディレクトリ `/usr/src/linux-headers-2.6.32-21-generic' から出ます
----------ここまで----------
現在、ubuntu10.4で奮闘中です。

オフライン

 

#10 2010-05-05 08:46:53

west125
新しいメンバ
登録日: 2009-11-07

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

すみません、本日06:05:53上記投稿は私の早とちりでした。
#1の投稿にあった方法で現在試行中です。

話は変わりますが、バージョンアップした段階での無線LANが使えない状況では、カーネルソースは他のPCから
USBメモリ等でもってくるしか方法はないのでしょうか。

オフライン

 

#11 2010-05-05 10:32:31

jackalope
メンバ
登録日: 2009-01-01

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

makeのエラーは、make -C /lib/modules/$(uname -r)/build M=$(pwd)/linux-2.6.32/drivers/net/wireless/zd1211rw module && ...
                                                                                                                                                                                  ^^^^^ <---modulesの間違い。

カーネルソースの件は試したことはありませんが古いソースでもいいと思います。

オフライン

 

#12 2010-05-05 14:14:24

sixpass
新しいメンバ
登録日: 2010-05-05

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

素晴らしいです!
ubuntu 10.04 LTS 正式版でも上記の方法で接続出来ました!
ありがとうございます!!

オフライン

 

#13 2010-05-05 21:53:52

v_0uvli
新しいメンバ
登録日: 2010-05-03

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

おぉ~~!
自分も上記の方法でできました。ubuntu10.04LTS(64bit)です。
ありがとうございます。

オフライン

 

#14 2010-05-12 12:38:46

senna
新しいメンバ
登録日: 2008-07-29

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

10.04 LTS にて上記方法にて試行した結果,青いランプはつくもののデバイスを認識してない模様. 当初は青いランプすら点灯しなかったので進歩ではあるが・・・.

オフライン

 

#15 2010-06-16 13:51:25

landnomad
新しいメンバ
登録日: 2010-06-16

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

私も、ubuntu10.04で、PLANEX GW-US54GXSが使えるようになりました。ありがとうございます。
jackalope さんほか、皆様のおかげです。重ねて、お礼申し上げます。

さて、一点だけ、質問させてください。ubuntu9.04の時は、電波強度を示すアンテナが、ほとんどいつも、
3本立っていましたが、今は、いつも1本しか立っていません。
ちょっと気になるのですが、私に何かできることがありますでしょうか?

オフライン

 

#16 2010-10-25 13:43:30

sai2s
新しいメンバ
登録日: 2010-04-18

Re: Ubuntu 9.10 でPLANEX GW-US54GXSが使えない

この方法でUbuntu10.10でもGW-US54GXSが利用可能になりました!

オフライン

 

Board footer

Powered by FluxBB