What's New » この記事

LinuxBeanへのWifi接続

年末は、以前シャープのMebius PC-AL50GにLinuxBeanをインストールして、最後まで残っていたWifi子機の設定をやっていました。

 

出来たけど難しかった。(・´з`・) うん、むずかしい。

 

ブートして起動できるように残したXpの方には、かんたんにドライバが入ったのに比べると、LinuxBeanにドライバを認識してもらうのに3日かかりました。。゚(゚´Д`゚)゚。

 

中国製の安い子機と手元にあったメルコバッファローの「WLI-UC-GNM」というUSB接続のWifi子機の2つをそれぞれ試して、結局メルコの上記のWifi子機で接続することが出来ました。

 

いろんなサイトのやり方をあれこれ試した後で(つまりごちゃごちゃ)、接続出来たので果たしてこれでいけるかは疑問ですが、以下のサイトの手順に従えば、ニアピン状態までもっていけるのでは無いでしょうか。

 

自分がやってた手順[うろ覚え]。

 

1.「lsusb」してみた。以下のブログ記事の他、どこをみても現在認識しているUSB機器の一覧をまず出してごらんよと指示されてますので、やってみました。

 

(参考記事) http://dogwood.skr.jp/blog/2013/06/46/

 

キャプチャーは無いんですが、出ますね。無線接続しているマウスの他に、上の参考記事の様に、「…WLI-UC-GNM Wireless LAN Adapter」末尾に[Ralink RT8070]というのは表示されていませんでした。ベンダIDは同じく0411、デバイスIDは01a2でした。続けて、iwconfigします。うーん。loとeth0以外何も表示されません。wlan0とかra0とか出てると(参考にできるサイトも多いので)取っ掛かりになるんですが、これでは困った。

 

2.次に、上記参考ブログの「無線LAN設定」の項目を試してみました。これは空振りになりました。どうも自分のLinuxBeanでは、エラーがでます。あらたに取得するものは無いとかいう感じのものだったか(ちょっと記憶が曖昧ですいません)。これについては、別のサイトの手順で解決できたっぽいので4で後述します。できないところはとりあえず置いておいて、そのまま通信ソフトの設定ファイル作成の項目に進みます。この項目はそのままこの様な指定で機能しました。「ルーターのSSIDとパスワードを予め書いておいた設定ファイルを用意しておきなさい」ということですね。

 

3.続けて、Linux用のドライバをMakeする作業ですね。
メーカーサイトからダウンロードしてきたファイル群をMakeする前に、デバイスリスト上には無いRT8070を追加して、そのほか修正する箇所を手直ししました。デバイスリスト上には無いRT8070を追加して、そのほか修正する箇所を手直しすればいいみたい。

 

4.3でうまくいかなかったので、こちらのサイトの指定に従ったら、firmware-ralinkの取得とインストールができました。ドライバを作る際に必要となるみたい。

 

(参考サイト)https://wiki.debian.org/rt2800usb

 

5.準備が出来たので、Makeしました。(まともにMakeするのって実はこれが初めてでした。(;´∀`) だから、Linuxのこの敷居の高さは正直困る!)

 

rt2800usbというドライバが作成され、(最初の参考ブログに述べられている様に)本体がrt5370sta.ko、設定ファイルがRT2870STA.dat として指定位置に作られていました。(この辺、ドライバ名と各ファイル名がばらばらで混乱しそうでした。実にわかりにくい)

 

6.これでドライバは作成できているので、後はmodprobeというコマンドでカーネルモジュールをロードして再起動かければ認識してめでたしめでたしと他の多くのWifi子機はなっているようなのですが、「WLI-UC-GNM」はひねくれているので、そのままでは見えてくれませんでした。再起動してもlsusbでは、認識していても、iwconfigでは、lo(ループバック)とeth0しか相変わらず見えません。wlan0はおろかra0も相変わらず出てきません。

 

7.ここでやっと、別の要因で見えないんではという考えに至りまして、やっぱり色々探してこの様なことを書いてあるサイトを見つけました。そのものズバリではないんですが、近似の子機だし、ちょっと応用すればいいんじゃないのということで、以下の追加作業をしてみました。その前に、参考サイトのアドレスを書いておきます。

 

(参考サイト)https://ja.osdn.net/projects/linuxbean/forums/28974/35597/73553/
(参考サイト)http://toronya.tumblr.com/post/38860903165/raspberry-pi-で認識しないusbタイプの無線lan子機-wli-uc-gn

 

先に貼ったLinuxbeanのコミニュティボードのQ&Aに従いつつ、「WLI-UC-GNM」のID 0411:01A2と差し替えて、コマンドを実行しておきます。そのうえで改めて再起動後、GUIのネットワーク設定画面を確認すると、下のキャプチャーの様に、wlan0がやっと見えるようになりました。

 

sc_wifi

 

これでやっとこたつでパソコンが出来るようになりました。

ここ最近やってみた工作の練習(3)

ロボット工作でいずれ何かに応用できるのを期待してこのごろ演習をした内容(3)。

 

2.ArduinoからESP-WROOM-02(Wifiモジュール)のシリアル通信を経由して、サーバーにデータを書き込む練習。
BlueToothでのシリアル通信は、以前できたので、今回はWifiで接続実験を練習しました。いずれ、Unity+Wifi+Arduinoの組み合わせで何か作りたいものです。が、今は単体の練習をしないとね。

 

最初は、こちらの記事で練習していたんですが、

 

(Arduinoと数百円のWi-Fiモジュールで爆安IoTをはじめよう)
https://ics.media/entry/10457

 

3ページ目の、ATコマンドで通信速度を設定のところで行き詰まってしまいました。(ノД`)シクシク
どうも指定されている[8ビット双方向ロジックレベル変換モジュール FXMA108]のところで、コケたらしくて、指定通りにしても「goodnight moon!」のまま先に進みませんでした。ソフトウェアシリアルのオブジェクトmySerialの出力をリード線で、0,1ピンに入れてあげると、アルディーノのシリアルモニタに値が出てくるので、オブジェクトは出来ているのが確認できますが、Wifiモジュールに届いていないみたいです。これに関しては、またのちのち調べることにしようかと思います。

 

で、わからんものはわからんので、もうちょっと簡潔に実験してるところを探してみたら、「おもちゃラボ」にいい塩梅に実験記事が載っていたのでそちらをやってみました。これはほぼうまくいったので、興味があったら皆さんもやってみると面白いかと思います。

 

(【Arduino】ESP-WROOM-02( ESP8266 )を使ってWifiで無線通信する )
http://nn-hokuson.hatenablog.com/entry/2017/04/09/091148

 

ロジックボード無しでやると、記事の「ESP-WROOM-02の通信速度を9600bpsまで下げる必要があります」というところの処理部分も引っかかること無くクリアできました。(mySerialが取得できてて、”Hellow, world?”が出力される)

 

20171123_w400h300

 

(´・ω・`)ただー、最後のtest.phpの中で、5行目$filenameってありますが、これでデータファイル開けるものなのでしょうか?自分はなんかうまくいかないので、別の変数を起こして、

 

$readfile = ‘data.txt';
のようにして、

 

$contents = fread($fp, filesize($readfile));

 

と書き換えて、期待する動きになりましたが。うーん?