テクノロイド

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

カシオの光ナビゲーションキーボード

2018-02-27 04:17:44 | Synth/MIDI
年度末が近いのでセールやってるNTT-Xを見ていたらカシオの光ナビゲーションキーボードLK-228というのがあった。そんなに安くなっていないようだけど、キーボード(←PCのじゃなくて音楽用)の練習ができるのかとなんとなく調べていた。好きだけど弾けないんで(汗;)。MIDI入力すると対応鍵盤が光ってくれるのは良さそう、なんて見ていたら、下位機種の方は現行機種になって機能が削られてるのがわかった。なんとUSB-MIDI端子とサンプリング機能がなくなっているとな。じゃあ前機種のLK-123の方がお得ではないか。生産終了してるから流通在庫だけかあ。下位機種なら1万円台だし買っとこかな・・・。と思ったけどちょっと前に在庫処分で1万ちょっとだったのか。高くなってるんでやめよう。別に元々欲しかったわけじゃないし現行機LK-228が安くなった時に買えばいいか。
追記)
家電量販店にあったので触ってみるとキータッチがオモチャの域でかなりガッカリ。

ラズパイ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に設定して簡単にできたのに何故?と思ってたんだけど、今は困難になっていたんだな。たまたまその時は設定できるようになっていたとかラッキーだっただけなのか。まあそういえば不安定なのでやめたんだったかな。

続く

WSLで空白のあるパスの処理

2018-02-22 14:03:11 | Ubuntu Linux
Windowsには不慣れだけどWSLができたんでちょっとずつ使いはじめている。
WSLに2chブラウザのjd入れて、URLをクリックしたらWindowsに入れたFirefoxで表示したいがエラーが出た。
firefox.exeのあるパスに空白があるためフルパスが切れちゃっている。
""で括っても駄目だったが、結局次のようにして解決できた。
export BROWSER=/mnt/c/PROGRA~1/MOZILL~1/firefox.exe
ちなみにこれを設定するとsensible-browserと叩くとFirefoxが起動する。

OSによって色々とお作法があるもんだな。

ラズパイ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アドレスがコロコロ変わってたのでうまく行かなかっただけだった。
気軽に試せるラズパイ便利だし、情報も多くて助かる。

ラズパイでHDMI CEC

2018-02-16 22:16:03 | パソコン/マイコン全般
ASUS版高級ラズパイという感じのTinker Boardってどうなんだって見ていたら、最近Tinker Board Sという上位版が発売されたらしい。値段はナンボやろって見ようとしたらHDMI CECに対応したと書かれていた。それって何?って調べたらテレビをコントロールする信号を扱えるってことだったのか。ちなみに値段は今現在特別価格で税抜き1万円程だとか。普通のが秋月で税込み8,640円だからお買い得な気がする。なんたってeMMCが載っかってるし。でも1万円となるとタブレットPCなんかが買えるご時世だから厳しいなあ・・・。4KとかHDオーディオ内蔵と考えればA&V趣味的にはGoodか。パワースイッチも付けられるし買っとこかな・・・。

とまあそれは置いといて、HDMI CECをググってるとこんなサイトを見つけた。Google Homeも気になるけどそれも置いといて、ラズパイにcec-utilsなんてのをインストールしているではないか。ラズパイをテレビにつないでHDMI CECが扱えるのか。テレビのスイッチを切るとラズパイをシャットダウンするとかできるのか?

もしかしてUbuntuにも普通にあるのか?とチェックすると、
$ apt search cec-utils
cec-utils/xenial 3.0.1+dfsg2-9build1 amd64
USB CEC Adaptor communication Library (utility programs)
あった。
これってLinux入れたスティックPCとかでも使えたりするのかな。

いつもDIGAで録画を見るときにDIGAのリモコンの録画一覧ボタンを押してテレビONとHDMI入力の切り替えを省いたりしてるんだが、そういうことができるのかな。今度やってみよう。
おらぁワ〜クワクすっぞ。←byアイデンティティ

AndroidとUSB経由でネットするUSBテザリング

2018-02-16 14:03:57 | パソコン/マイコン全般
昨夜USB経由でネットするEthernet over USBしたいと書いたが、原理がわかってそういえばと思い立ちUbuntu機(以下U)にAndroid6.0のIDOL4(以下I)をUSB接続してみた。
普通につなぐとIをストレージとして認識してフォルダー(nautilus)が開く。そしてIの設定>無線とネットワーク>その他>テザリングでUSBテザリングをONにした。するとフォルダーが真っ白になり、Uでip a(ip address)するとenp0s20u5が増えているではないか。
試しにUのWiFi接続を無効にしてみたがちゃんとインターネットできる。UとIで逆のネットをしようとしたができないので、もう少しUの接続設定をいじる必要がありそう。追記)いやI側というかAndroid側っぽいからいじれるかよくわからん。

なんだ普通にできるじゃないか。今まで悩んでたのはキャリアの昔のテザリング禁止スマホだったせいなのか、それともAndroidバージョンが古かったせいなんだろうか。Bluetoothテザリングもできるようだし、これならラズパイZERO WともBluetoothでLANできそうだ。

USB経由でネットするEthernet over USB

2018-02-16 00:22:18 | パソコン/マイコン全般
以前からAndroidとPCをUSB接続でLANしたいと思っている。WiFiを使わずにLANしたいのだが、AndroidスマホがUSBのLANアダプターを使えなかったりするからだ。Androidでadb接続してTCP通信できるんだけど、双方にIPアドレスをふってftpでもsshでも事由にやりたいので。もしかするとadbでできるかもしれないがわからない。

そして以前RaspberryPi ZEROがUSB経由のLANができると知って、今回ようやくZEROを購入したのでまた調べてみた。ZEROはグラフィック機能の貧弱なサーバPCの代わりのデスクトップとして利用できないかと思っているので追加なしにUSB接続できるのはありがたい。

そしてLinux経由でUSB経由でネットする仕組みはLinux/USBガジェットというのを使うのがわかった。その中のg_ether.koというモジュールを使うらしい。
ここのサイトを見ると少しわかりやすいかな。なるほど、以前ラズパイがクラッキングデバイスになると話題になったけど、この仕組みを利用してたとは驚いた。そしてg_etherはレガシーだとのこと。確かに今は/lib/modules/4.4.0-101-generic/kernel/drivers/usb/gadget/legacy/g_ether.koに置かれている。

そして面白いのがこのUSBガジェットって、LANとしてだけじゃなくて他にもUSBデバイスとしても認識させられること。例えばラズパイZERO WをUSBオーディオ機器として認識させるなんてことをやってて実に興味深い。面白いなあ。

今までZEROに手を出さなかったのは、ZERO(&W)じゃないと対応してないのに購入制限があったから。ZERO WHの登場で制限がなくなったから色々なことが安価にできそうで、おらぁワクワクすっぞ。←今更アイデンティティ(注:芸人)にハマってる
まあWHは2千円弱とちょっと高いか。最近はmicroSDも以前の倍の値段するからなあ。8GB/300円、16GB/500円、32GB/千円くらいで買えてたのに。もっと買っときゃ良かったよ。
やっぱ5千円くらいでAndroidスマホかタブレット買った方が安い気がするんだよなあ。それとZEROをグラボ代わりにするより最安グラボ買った方が安い気がしてきた。
そんなこと考えるとDDR3メモリも4GB4千円くらいなんで、メモリ4GB版Rock64が6,500円とか安いよなあ。

追記)
今時の(?)Androidなら簡単に使えるのがわかった。

追記2)
ラズパイ2 or 3じゃUSB-HUBのせいで無理とのことだから、USB端子1つしかないLinux入れたWindowsタブレットでラズパイZEROみたいにできるんじゃないかとやってみたが、繋いだだけじゃモジュールがロードされずに駄目だったからよくわからんかった。残念。

追記3)
microSD買っときゃ良かったと書いたが、偶然近所の家電量販店のセールで8GBが限定30枚1人1枚のみ税抜き300円とチラシにあったので買ってきた。CLASS4だけど防水仕様だそうで。