
Ubuntu日本語フォーラム
ログインしていません。
ノートPCにて、buffalo製USB無線LAN子機(WLI-UC-G301N)を使用してネット接続をしているのですが、
RT3070のドライバを落として、他質問であるとおり設定をしてネットにつなげることはできました。
しかし、再起動を行うと無線LAN自体も認識しておらず、modprobeをするとWARNINGになり、再度insmodをするとエラーになるため、rmmodをした後に、再度insmodをして接続が可能となります。
/etc/modulesなどに記述はしたのですが、それでもうまくいきません。
RT3070の設定を進めていくと、/etc/Wireless/RT3070STA/にはRT2870sta.datでファイルができて
いたりと番号が混在しておりそこらへんでうまくいかないのかなと考えておりますが、いまいち糸口が見えません。
下記に、再起動直後からの各種情報を記載しますので、何かわかれば教えていただきたく思います。
「lsusb」
Bus 001 Device 002: ID 0411:016f MelCo., Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
「iwconfig」
lo no wireless extensions.
eth0 no wireless extensions.
「sudo modprobe rt3070sta」
WARNING: All config files need .conf: /etc/modprobe.d/rt3070sta, it will be ignored in a future release.
「sudo insmod rt3070sta.ko」
insmod: error inserting 'rt3070sta.ko': -1 File exists
「cat /etc/modules」
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
lp
rt3070sta
「cat /etc/modprobe.d/rt3070sta」
alias ra0 rta3070sta
「iwconfig」再設定して接続してからの情報
lo no wireless extensions.
eth0 no wireless extensions.
ra0 RT2870 Wireless ESSID:"001D73B15472" Nickname:"RT2870STA"
Mode:Managed Frequency=2.412 GHz Access Point: 00:1D:73:B1:54:72
Bit Rate=130 Mb/s
RTS thr:off Fragment thr:off
Link Quality=98/100 Signal level:-68 dBm Noise level:-53 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
オフライン
その後いろいろ調べてみて、結果再起動後も継続して使えるようになりました。
根本的な解決にはなっていませんが、暫定的な対応としてrc.localを修正することで対応しました。
RT3070のドライバは、RT2870を元に作られているようで定義等の名前が混在しておりうまく認識できていない
ようでした。したがって、その名前の修正も含めて下記定義を修正しております。
os/linux/config.mk(下記パラメタのnからyへの変更)
HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
/os/linux/usb_main_dev.c(usbID追加)
{USB_DEVICE(0x0411,0x016f)}, /* Buffaro WLI *
ここまでは、他の質問でもあるような同じ修正です。
ここからは、名前の不一致への対応です。
os/linux/Makefile.6(RT2870をRT3070へ修正)
DAT_FILE_NAME = RT3070STA.dat
/include/os/rt_linux.h(RT2870をRT3070へ修正)
#define STA_PROFILE_PATH "/etc/Wireless/RT3070STA/RT3070STA.dat"
#define CARD_INFO_PATH "/etc/Wireless/RT3070STA/RT3070STACard.dat"
2009_1110_RT3070_Linux_STA_v2.1.2.0/RT2870STA.dat(対象ファイルの名前の変更)
RT3070STA.dat
これでmakeして、make installをします。
これでinsmodをすれば、カーネルにモジュールが登録されて無線が使えるようになりますが、再起動を
すると認識がされず、再度insmodをする必要がでてきます。
本来であれば、他の定義ファイルを修正して正しい対応がとれるはずですが、今回は暫定として
ブート時に一番最後に読まれる、/etc/rc.localにinsmodを実行するように記載をします。
下記とおりです。これで再起動時及び起動時の最後に、insmodのコマンドが実行されて無線がつながるようになりました。(insmodコマンドのパスについては、各環境にあったものに修正してください)
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sudo insmod /home/username/driver/2009_1110_RT3070_Linux_STA_v2.1.2.0/os/linux/rt3070sta.ko
exit 0
オフライン
初心者なので的はずれな回答でしたら申し訳ありません
/etc/Wireless/RT3070STA/RT2870sta.dat
のフォルダ名を
/etc/Wireless/RT2870STA/RT2870sta.dat
と、中のdatファイルの名前に合わせたら何回起動しても問題なく動作しています
端末にてsudo nautilusとし、root権限でウィンドウを開いてフォルダ名を変更しました
使用している機器はWLI-UC-G300HP、ドライバは同じくRT3070を使用しています
ただ、/etc/modulesなどにはまったく変更を加えておらず、ドライバの設定の仕方が違うかもしれないので、参考にならないかもしれません
オフライン
/etc/modulesにはモジュール名を追加します
rt2870sta又はrt3070sta
そして/etc/modules.d/にモジュール名を同じファイル名のファイルを新規作成
次の1行だけでいいです
alias ra0 rt2870sta
これで再起動すれば自動認識されるはずです
オフライン