テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

ラズパイZERO Wを無線LANコンバータで使いたい#3

2018-03-02 01:11:51 | ORCA関係,Debian Linux
スマホ/PCでテレビを見られるよう、アンテナのある部屋に設置しているテレキングを光回線のある部屋の無線ルータに同一セグメントで接続したい。そのためにはブリッジ接続できる無線LANコンバータが必要。それをRaspberryPi ZERO W(Pi0w)+LANアダプタにやらせようかと奮闘。

Pi0wの標準OSなRaspbianではうまく行かなかったので、前回無線LANルータ由来のOpenWRT(LEDE)
を使えるようにした。なので"OpenWRT LANコンバータ"でググッてこのサイト(WZR-G54のOpenWrtの書き込みと無線LANコンバータ化)を参考にして設定した。
実際にはそこからリンクを張っている本家サイトのRouted Client with relaydを中心に。
※本家サイトと書いてしまったが、wiki.openwrt.orgは古くてアクセスが遅いようなのでWifi Extender or Repeater or Bridge Configurationを見るべきかも。

タイトルをよく見るとPseudobridge=擬似ブリッジと書かれてるし、図を見ても違うネットワーク(192.168.2.0/24)のアドレスを割り振ってるので不安を感じながらもとりあえず設定。
OpenWRTに不慣れなので時間を取られつつ、Webインターフェースをいじったり設定ファイルを直接書き換えたり試行錯誤しながらなんとかうまくいったんだけど、何故かeth0側からPi0wにアクセスできない。これでうまく行ってないかとかなり戸惑っていたが、こっちに書かれてある設定をほぼそのまま利用したらうまく行った。結局wlan0側をDHCPに設定してたら駄目で、ブリッジ(stabridge)と同じ固定アドレスを割り振る必要があるようだ。

設定ができたのでPi0wをテレキングに接続し、スマホのアプリで接続しようとしたけど残念ながらテレキングが表示されない。IPアドレスは透過してるけど、やはりMACアドレスは駄目だったようだ。確かにテレキングとPi0wが同じMACアドレスになっていた。

Client Mode Wirelessのページを見るとBridged Client Mode Issues(問題)として図が描かれてる。そして解決策はWDS(Solution using WDS)だと。

幸いOpenWRTが入れられるPQI Air Penが安かったから2つ買って持ってるのでWDSできそうだけども・・・。まあ元々LANアダプタが必要なPi0wをいつまでも使うつもりもなかったが。
コメント

ラズパイZERO Wを無線LANコンバータで使いたい#2

2018-02-23 01:23:36 | ORCA関係,Debian Linux
ラズパイZERO W(以下Pi0w)を無線LANコンバータとして使うために、WiFiとUSBのLANアダプタをブリッジ接続する設定をしたかったのだが、どうしてもエラーが出てどうにもならない。
sudo brctl addif br0 wlan0とすると
can't add wlan0 to bridge br0: Operation not supportedとでる。
4addr(WDS)モードにすればエラーはでないとあるのだが、それもエラーになる。

Pi0wに搭載されているWiFiチップのせいなんだろうか?よくわからないが、RaspbianLiteの設定で何とかするのは諦め無線ルータOSとも言うべきOpenWRT系OSでやってみることにする。RaspbianLiteは2GBのmicroSDにXorgまで入れてキツキツになってたし。
「openwrt raspberry pi zero w」でググるとすぐにLEDEを試している方が見つかった。

その方法を試してみたのだがLANアダプタが認識しているようだがwlan0もeth0もアドレスが振られてないので接続できない。どうやればアドレスが振られるかわからなかった。一応Pi0wに接続しているLANアダプターはeth0として認識されてはいるようだ。

上記がうまく行かなかったので他を探してたら、Raspbianの様にUSB Gadgetを使ってLEDEでもUSB経由でLAN接続する方法を書かれてるサイトを見つけた。やってみたけど途中からSSH接続できなくて詰んでしまった・・・。どうやらFirewallの設定を間違えたようだ。

仕方ないのでmicroSDを作り直し(←Ubuntuだとダウンロードして展開したimgファイルをダブルクリックしてmicroSDを指定すればできて超簡単)、再び後者のサイトに掛かれてあるwireless.radio0.disabled=0を設定してWeb管理画面を開けるようにしてNetwork>Interfaceの画面で「Add new interface」で適当にeth0を追加設定したら無事ローカルのアドレスでLAN接続できるようになった。
セキュリティ上弱いとのことなのでwireless.radio0.disabled='1'に戻しておいた。まあ簡単にWiFi接続できちゃう状態になってたから。

追記)
WiFiをまたいだ同一LANを構成するという意図する設定に難航中なんだけど、昔DD-WRTでWireless Mode: Client Bridgeに設定して簡単にできたのに何故?と思ってたんだけど、今は困難になっていたんだな。たまたまその時は設定できるようになっていたとかラッキーだっただけなのか。まあそういえば不安定なのでやめたんだったかな。

続く
コメント

ラズパイZERO Wを無線LANコンバータで使いたい#1

2018-02-22 01:33:55 | ORCA関係,Debian Linux
WiFi経由でスマホ/PCでテレビが見られるテレキングを購入しているのだが、TVアンテナのある部屋と(無線)ルータのある場所が離れている。というわけでテレキングをネットにつなぐために無線LANコンバータが必要だった。OpenWRT系を動かせるルータを持っているはずなんだが、どこかの箱の中で眠っていると思われるが探しだすのが面倒なのでテレキングまでほったらかし状態で何とかしたかった。
今回ラズパイZERO W(以下Pi0w)を買ったのでこれが使えるかなと。本当はWiFiとLAN端子を持つPQI Air Penが目の前にずっと置きっぱなしなんでそっちも使ってみたいところだが、ラズパイは情報が豊富だから理解が深まるかな。それとPQI Air Penじゃ速度でないかも。

とりあえず無線LANコンバータ(ブリッジ接続)の前に、ラズパイからUbuntuPC(以下PC)経由でネットを試してみたので今度は逆にPCからラズパイ経由でネットしてみる。こちらが参考になった。
ip_forwardとIPマスカレードの設定をする。それとルーティングもいじる必要があった。Pi0wとPCはUSBケーブル接続で。

Pi0w側
pi@raspberrypi:~ $ route -n
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
0.0.0.0 10.42.0.1 0.0.0.0 UG 202 0 0 usb0
0.0.0.0 192.168.0.1 0.0.0.0 UG 303 0 0 wlan0
10.42.0.0 0.0.0.0 255.255.255.0 U 202 0 0 usb0
192.168.0.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
pi@raspberrypi:~ $ sudo -i
root@raspberrypi:~# echo 1 > /proc/sys/net/ipv4/ip_forward
root@raspberrypi:~# iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
PC側(WiFiオフ)
ubuntu@UN42:~$ route -n
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
10.42.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s20u5
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s20u5
ubuntu@UN42:~$ sudo route add default gw 10.42.0.23 ←ラズパイのusb0のアドレス

これでUbuntuからIIJにPINGしてみると
ubuntu@UN42:~$ ping 202.232.2.164
PING 202.232.2.164 (202.232.2.164) 56(84) bytes of data.
From 10.42.0.23: icmp_seq=2 Redirect Host(New nexthop: 10.42.0.1)
From 10.42.0.23: icmp_seq=3 Redirect Host(New nexthop: 10.42.0.1)
(略)
となり、Pi0w側で10.42.0.1がデフォルトゲートウェイになってる行が邪魔。なので削除する。

root@raspberrypi:~# route del default
root@raspberrypi:~# route -n
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
0.0.0.0 192.168.0.1 0.0.0.0 UG 303 0 0 wlan0
10.42.0.0 0.0.0.0 255.255.255.0 U 202 0 0 usb0
192.168.0.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0

これでPINGがインターネット(wlan0)に飛ぶようになった。DNSが設定されてないのでIPアドレスで確認したが、本来の目的じゃないのでこれ以上やらない。

続く
コメント

Raspbian LiteにGUI(Xorg)を入れる

2018-02-21 18:06:36 | ORCA関係,Debian Linux
Raspbian Liteを2GBのmicroSDに入れたんだけど、にGUI(Xorg)を入れルートパーティションが65%の使用量だからデスクトップ環境は無理でもXサーバーくらいなら入れられるかな?と思っていたが、偶然Raspbian LiteにGUIを入れるという公式ガイドを発見したので入れてみた。

まず何も入れてない状態
pi@raspberrypi:~ $ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 1833872 1120232 606432 65% /
(略)
/dev/mmcblk0p1 41853 21328 20525 51% /boot
tmpfs 44452 0 44452 0% /run/user/1000
pi@raspberrypi:~ $ free
total used free shared buff/cache available
Mem: 444532 23568 365640 3096 55324 370140
Swap: 102396 0 102396

Xorgを入れる前に、raspi-configでパーティションをフルサイズに拡大できるということなのでやってみたが2GBはギリだったようなのでサイズは全く変わらなかった(←そういえば初回起動時にパーティションが拡張されるんだった)。ついでにlocaleやキーボードの設定と、ZERO WでやってるのでWiFiの設定も行った。

root@raspberrypi:~# apt-get install --no-install-recommends xserver-xorg
root@raspberrypi:~# df
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/root 1833872 1108132 618532 65% /
(略)

xserver-xorgを入れるだけじゃまだ空きがあるなとうっかりしていたら次のRaspberry Pi Desktop (RPD) GUIのインストール中(apt-get install raspberrypi-ui-mods)に一杯になってしまってエラーが出始めた。
別な端末でSSH接続してapt-getをkillしてから一旦クリーン(apt-get clean)で空き容量確保。もう一度インストールしようとしたらdpkg --configure -aしろとメッセージが出たので、その指示通りにコピペで実行。するとインストールが完了した。

USBケーブル一本でSSH接続して作業してたが、一旦shutdownしてモニターやキーボード、電源を接続しなおして起動。GUI起動できたんだが、何故か画面が頻繁に暗転する。いや何もしてなければいいのだが、WiFi経由でSSH接続して作業しても暗転してしまう。モニタがFHDじゃないからなのか、電源が足りないせいなのか。とにかくWiFiが通信すると画面が消えるようだ。
とりあえず別なPCで利用しているFHDモニタやキーボード・マウスと電源で起動してみる。すると暗転はしない。しかし百均USBハブにつないだキーボードが使えない。マウスの方は使えるのだが。ハブを外してキーボードのみを接続した場合は使えた。仕方ないのでそのキーボードはあきらめ無線キーボードを使ったら大丈夫だった。
日本語フォントが入ってなかったのでfonts-takaoを入れて最ログインしてOK。キーボードがraspi-configで日本語キーボードを指定したのに、英語配列になっている。GUIメニューにある設定ソフトじゃキーボードを指定できないようなので今の所駄目なまま。

apt-get clean&GUI起動後
pi@raspberrypi:~ $ free
total used free shared buff/cache available
Mem: 444532 90040 258700 10304 95792 295988
Swap: 102396 0 102396
pi@raspberrypi:~ $ df
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/root 1833872 1569656 157008 91% /
(略)
こりゃもうGUIアプリなんて入れられないな・・・。4GBのmicroSDでならもっと色々インストールできそうかな。

追記)
microSD2GBはRaspbianLiteからOpenWRTに入れ替えた。先日たまたま(CLASS4だが)8GBが税抜き300円のセールで買えたのでフルのRaspbianを入れて使う予定。
コメント

ラズパイZEROをUSB経由でSSH接続

2018-02-20 00:02:41 | ORCA関係,Debian Linux
ラズパイZEROとWを買ったのはいいけど最近microSD(以下uSD)が高くなってるんで買う気にならない。8GBのuSDはWindowsの回復ドライブに使ってるしどうしようかなと思っていたんだが、raspbianにはLite版があったではないか。
2GBのuSDなら用意できるかとさっそくダウンロード。ダウンロードしたフォルダーを開いてダブルクリックして展開。1.9GBって足りるんだっけ?と思いつつ、初期化した2GBのuSDは1.8GBちょっとでちょっと少ない。とりあえず展開したimgファイルをマウントしてみるかとダブルクリックしたら、どこへリストアするかと聞いてきたのでとりあえずuSDを指定したら書き込みできたようだ。ラッキー、簡単に作成できた。
最近のraspbianはsshdが自動的に起動しないというのを見ていたのでuSDをPCに指し直してcd /media/.../boot/で移動してからtouch ssh。

これで良しと勘違いして、ZEROにuSDを差しAndroidに付属してたのUSBケーブルでPCに接続。LEDがチカチカしてるから起動してると安心。しかし点滅が止まってもssh pi@raspberrypi.localで接続できないではないか。
とほほな気分でZEROにモニターとキーボードを接続し直して起動しなおし。すると正常に起動してsshもちゃんと起動している。はて?と思ってたら/boot配下のファイルを2つ編集する必要があったとは・・・。

というわけでconfig.txtとcmdline.txtを編集。これで良しと接続してUbuntuでip aしてUSBのインターフェースが増えてるのを確認。しかし接続できない。よく見るとIPv4アドレスが振られてないではないか。NetworkManagerも有線接続2ができてるが接続状態になってない。
どうすれば?と思ったが、こちらを見て解決。NetworkManagerの有線2の設定画面のIPv4のタブで方式を「ローカルへのリンク専用」に変更してOKボタンを押した後、接続が完了しないみたいだったので有線2を一旦「切断」して、そして有線2を選ぶと接続完了した。
ようやくssh接続成功。ふぅ。

USB接続を繰り返すと有線接続xが増えていくようだけど、こちらに解決策が載っていた。ありがたい。g_etherのオプションで擬似MACアドレスを指定すれば固定されるから増えないようだ。

追記)
上記Ubuntuで「ローカルへのリンク専用」を指定すると、本当にローカル、つまりラズパイとUbuntu間でしか通信できない(ようにアドレスが割り振られる)。ラズパイからUbuntuのWiFi経由でインターネットするには?と思って「ローカルへのリンク専用」じゃなく「他のコンピュータへ共有」を選んでもうまく行かないと思ってた。しかし、MACアドレス固定で参考にしたページを見るとやはりそれで良さそうだったので、リブートしたりして試行錯誤した結果、やはり「他のコンピュータへ共有」で良かったのだがイーサネットタブのデバイスでMACアドレスを正しく指定する必要があったようだ。最初に試した時点ではMACアドレスがコロコロ変わってたのでうまく行かなかっただけだった。
気軽に試せるラズパイ便利だし、情報も多くて助かる。
コメント

Linuxで使用可能なレーザープリンタ その2

2018-02-06 23:14:39 | ORCA関係,Debian Linux
NTT-Xの特価メールを見ていたらリコーのレーザープリンタSP 2100Lが1万円だった。Linuxで使えるか見てみたが使えないっぽい。
しかし1万3千円のSP 2200Lのホームページの方だと、ちゃんと対応OSにLinuxとあるではないか。手差しに60枚セットできてこの値段は安いな。というか無線LANまでついててWi-Fi Directに対応しているとは。動作確認も兼ねて、AndroidからのFAX印刷用に買ってみようかな・・・。
まあ今は千円ちょっと安くなってるんで通常は1万4千円強のようだが。NECのMultiWriter5300(PR-L5300)がまだ2万5千円であるけど、もっと安いのがあったのか。
コメント

Linuxで使用可能なレーザープリンタ

2017-09-18 21:55:55 | ORCA関係,Debian Linux
ORCAで使うためにLinuxで使用可能なレーザープリンタとしては、ブラザーならしっかりLinux用プリンタドライバが提供されてて安心だった。
しかし以前は2万円前後で買えてたのに新型になってからは4〜5万円くらいと安売りをやめてしまった。本体が故障しても新品買って下さいと人に勧められるのが良かったのに。
1万円前後で買える価格帯のものもあるが手差しが1枚ずつしか印刷できないようなので使えない。故障に備えて2台用意しても問題ないレベルなんだけど設置にかさばるから勧めにくい。カセットが追加できればいいんだがそれもできない。

というわけで他メーカー含めていい機種ないかなと長いこと思案していたら、いくや氏のブログで「NEC MultiWriter 5300 購入」したとあった。調べたらLinux対応どころかORCA対応となっているではないか。それがセールで1万円切り、通常でも1万5千円程度となっていた。
これはいい!というわけでUbuntu16.04対応と記述されてなかったのもあり、周りに勧められるか確認のために購入して実際に使えるか確認。無事OKだったので周りにも勧めた。

これでひと安心と思っていたんだが、セールがなくなったらなんと1万5千円ではなくて2万6千円程になっているではないか。んなアホなあ。といってもまだ安いっちゃ安いけども。
お試しで買ったMultiWriter 5300はセールで買いそびれた人に譲ったので、もちっと安く買えるのないかなと思っていたら、今度はMultiWriter 5140が箱汚れアウトレットで6千円。LAN対応なのに安すぎ(笑)。Linux対応とは書かれてないし、ググっても見つからない。NECのレーザープリンタはゼロックスのOEMらしいのだが、そっちで調べてみてもLinux対応かはわからなかった。しかし外観や仕様を調べると、どうみてもブラザーの1万円前後で買える廉価版の機種に思える。

しばし悩みつつも、6千円というトナーだけみたいな価格なんで購入して試してみることに決定!駄目でもWindowsで使えるしというわけでさっき届いたのでさっそく挑戦。

トナー入れたドラムをセットしてLANにつないで電源ON。
ーーーーーーーーーーーーーーーー
# sh linux-brjprinter-installer-2.1.1-1 HL-L2360DN(←機種名は外観似たのを適当に)
(略)
Device URIを指定しますか? [Y/n] ->y
11: dnssd://NEC%20MultiWriter%205140._ipp._tcp.local/?uuid=〜(略)〜
使用するDevice URIの番号を選択してください。 ->11
テスト印刷を実行しますか? [y/N] ->y
ーーーーーーーーーーーーーーーー
無事テスト印刷完了!

手差しが1枚のみなんで、こっち買うより1万円切りのMultiWriter 5300の方が良かったけど、まあ使えるのが確認できたのは収穫だった。
でもこれがわかるとFAXレーザー複合機MultiWriter 200Fの2万8百円も気になってくる(笑)。
追記)10月現在ブラザーの同機種(?)MFC-L2720DNが最安23,600円くらいで、4千円のキャッシュバックキャンペーン中。
コメント (4)

今更postgresのバックアップ・リストア方法を調査

2017-04-19 12:21:45 | ORCA関係,Debian Linux
これまではSQL形式でバックアップしたデータをリストアするのにpsql使ってても、遅くてもまあ我慢できるかなという感じだったのだが、今回psqlのリストアで4時間以上かかってしまったので今更postgresのバックアップ・リストア方法を調査した。

pg_dumpallというDBをまるまるバックアップするコマンドがあるので、これなら速いのでは?と思ってやったら結局SQL形式だったので上記のとおり遅かった。psqlの画面出力が遅い原因か?とpsql -qと出力を抑制してもダメだった。
そしてなんとpg_dumpallってSQL形式しかサポートしてないというビックリ仕様だった。

なのでググッてカスタム形式とtar形式があるというので比較してみた。
timeコマンドで時間を計ってみる。
postgres@realpc:~$ time pg_dump -Fc testdb > dbFc.dump
postgres@realpc:~$ time pg_dump -Ft testdb > dbFt.tar
メモ忘れたが、実時間でカスタム形式が5分でtar形式が2分くらいだったかな。

それをそれぞれリストアした。(DBをわざわざcreateしなくても良い)
postgres@container:~$ time pg_restore -C -d postgres < dbFc.dump
real 6m31.718s
user 0m44.595s
sys 0m11.117s
postgres@container:~$ dropdb testdb
postgres@container:~$ time pg_restore -C -d postgres < dbFt.tar
real 4m36.913s
user 0m26.373s
sys 0m11.919s

これなら速いけど、実はリストアするときにpostgres.confでsync=offを指定して再起動する必要がある。
それをしなかったら30分たっても終わらなかったので強制終了した。
なので、元に戻すのを忘れないようにしなければいけない。これうっかり忘れるんじゃないだろうか。というか、これ書くのに実際忘れてたのを思い出した。あぶねー。
リストアのオプションにあればいいのに。
コメント

LXC内でjma-receviewが動かなかった

2016-04-05 12:02:00 | ORCA関係,Debian Linux
Ubuntu14.04なLXCコンテナにリモート接続してXクライアントを実行しているんだが、レセ電ビューアのjma-receviewがエラーも吐かずに起動しない。
glclient2は起動するし、ruby-gtk2のサンプルの/usr/share/doc/ruby-gtk2/examples/gtk-demo/main.rbも起動する。
"ruby -v /usr/bin/jma-receview"でもたいした情報が出力されなかった。
それでググったら、約1年前に解明されてた
デバッグメッセージを出すには、"ruby -d -w /usr/bin/jma-receview"だったか。
xdg-user-dirsという仕組みでエラーらしい。
そして解決するには、~/.config/user-dirs.dirsに
XDG_DESKTOP_DIR="$HOME"
XDG_DOCUMENTS_DIR="$HOME"
を記述。
無事起動された。ありがたや。
コメント

NP11にantiXというLinuxを入れてみた

2016-01-15 23:26:53 | ORCA関係,Debian Linux
初代Atomだけど64bitなNP11にubuntuを入れようとWattOSやKLUEを入れてみたりしたけど、SiS771/671というチップのせいで解像度が1280x1024しか出なくて、何とかしようと対応ドライバ探しをがんばったんだけど挫折した。
そしてantiXというDebian系LinuxがSiS771/671のドライバパッチを取り込んでいるというのを見つけたんで試すことにした。
MX15というのがantiX系で日本語化されているのが見つかるのだが32bit版しか配布されてないようなので、とりあえず画面の高解像度が出せるか見たいだけなのでantiX-15-V_x64-full.isoをダウンロードして試してみた。

インストール後に起動したが1280x1024で立ち上がった。高解像度用のメモリが足りないせいなので、xorg.confにDefaultDepth 16を指定して再起動。
モニタ周波数と合わないのか「範囲外です」と表示され画面が暗いのでCtrl+Alt+'+'(複数回)で画面サイズの変更をしたら映った。1680x1200になっててスクロールしないといけない状態だったので、設定ツールで1680x1050を指定。
次にDefaultDepth 24に書き換えたけど同様。

とりあえず映るのがわかったけど、結局どうしよ。

それにしてもiceweaselを起動しても1GBの半分のメモリ消費量はビビる。
used free
430640 458100
日本語化していないからだろうか。

(参考までにxorg.conf)
--
Section "Monitor"
Identifier "Monitor0"
Option "DPMS" "true"
EndSection

Section "Device"
Identifier "Device0"
Driver "sisimedia"
EndSection

Section "Screen"
Identifier "Screen0"
Monitor "Monitor0"
Device "Device0"
DefaultDepth 24
#SubSection "Display"
# Modes "1280x1024" "1333x768" "1024x768" "800x600"
#EndSubSection
EndSection
コメント