2016年2月26日金曜日

OpenELECをSambaからアップデートしてみた。

Orange Pi用のOpenELECが結構更新しまくってて、その都度SDにイメージを上書きすると設定画面どうなのでSamba鯖を使ったアップデートを試してみた。

ただし、U-Bootの更新が含まれるバージョンだとこの方法でアップデートするとU-Bootまで更新されないっぽいので注意かも。(U-Bootはめったに更新されないと思うけど)

意外とこの方法が簡単で、OpenELECの設定でSambaが有効になってる場合(デフォで有効)、OpenELECの共有フォルダが見えるはず。

その中のUpdateフォルダにアップデート用のファイルを突っ込めばいいというわけ。

フォーラムのOpenELECではmicroSD用のimgファイルとアップデート用のtarファイルが一緒にアップデートされてるので、拡張子にimgがついてない方のファイルをDLしてそのUpdateフォルダに入れてOrange Piを再起動するだけ!
アップデータの方は、フォーラムのLatest prebuilt imagesに常に最新版のリンクが貼られるようになってるっぽいのでこちら参照。

tarファイル突っ込んで再起動したら何回か再起動するので待つ。
起動したらSystem Infoからコンパイル日を見ればアップデートされたかどうかがわかる!
設定がそのままなので赤外線リモコンが使えた。赤外線リモコンの設定は面倒なのでこれは便利。


ちなみに今回は20160224版に更新してみたんだけども、何故かCMAのバグ再来でCPUのどれか1コアの使用率が100%に張り付いてる。メモリも全体のメモリが見えるようになってるし。CMAを再度有効にしたのかな?

もしかしたらU-Bootの更新があったのかもしれないのでmicroSDにimgファイル上書きで更新してみることに。
ただし、再設定が面倒なので、OpenELECの共有フォルダにあるConfigfilesのバックアップをとってから、imgファイルをddで上書きしてアップデートしてからConfigfilesを戻してみた。

するとCMAのバグが治ってる!これでビデオメモリが自動的に割り当てられるようになってるのか…効率的だ…
たしかにOrange Pi PCはメモリ1GBあるから余裕だけど、Orange Pi ONEのように512MBだとこの方法は有効かもしれない。

2016年2月20日土曜日

LAN-W300N/DRを分解してみた。

LogitecのLAN-W300N/DRをジャンクで入手したので分解してみた。
USBデバイス共有機能がついてる無線LANルーターで11nの300Mbpsに対応している。
USBポートが付いてるけどUSB over Ethernet専用な感じで、FTPサーバとかSMBサーバを立ててNASみたいに使うことはできないらしい。

シリアルナンバーを見るとB無しのバージョンだった。今回もACアダプタが付属してなかったんだけど、調べたらLA-10W5S-09という5V 2A出力のACアダプタらしい。コネクタはPSPと同じく4.0x1.7なので試しにPSPの充電器で動かしてみた。

一応起動するけどなんか不安定。何回か再起動すると無線LANに接続できて設定画面も開けたり。繋がらないときは接続中のまま…
とりあえずリセットボタンを電源LEDが高速点滅するまで長押しして離すと工場出荷状態に初期化できるっぽいのでやってみたらつながるようになった。
ファームウェアは1.08だったので最新の1.14までアップデートしてみた。

早速分解してみた。
LAN-W300N/DR
分解方法はLAN-W300N/Rと全く一緒だった。アンテナがどっちもPCBアンテナになっていた。
CPUには銅板が接着されていて剥がせそうになかった。なんのCPUかわからないじゃん…
Flash ROMはMacronix 29LV320DBTI-70Gで4MBだった。
LAN-W300N/DR
裏面にはRAMが2つ乗っていた。Zentel A3V28S40ETP-G6(16MB)x2で32MB

CPUがわからないのでシリアルコンソールを試してみることに。

表面のJP2ってところに2.54ピッチのピンヘッダをハンダできそうなところがあるのでそこが怪しい感じ。JP2って書いてあるところを1番として順番に3.3V出力、RX、GND、TXっぽい感じだった。
市販のUSB→TTL変換アダプタを使う場合は3.3Vは接続しなくても良さそう。(電源が衝突してしまう)

とりあえずCooltermでBaudrateを色々試してみたところ57600bpsで通信できた。
U-Boot 1.1.3 (Aug 12 2009 - 13:57:22)

Board: Ralink APSoC DRAM:  32 MB
relocate_code Pointer at: 81fa8000
****************************
Init GPIO Pin****************************
flash_protect ON: from 0xBFC00000 to 0xBFC262D3
protect on 0
protect on 1
protect on 2
protect on 3
protect on 4
protect on 5
protect on 6
protect on 7
protect on 8
protect on 9
flash_protect ON: from 0xBFC30000 to 0xBFC3FFFF
protect on 10
*** Warning - bad CRC, using default environment

============================================ 
Ralink UBoot Version: 3.1
-------------------------------------------- 
ASIC 3052_MP1 (MAC to GigaMAC Mode)
DRAM COMPONENT: 256Mbits 
DRAM BUS: 32BIT 
Total memory: 64 MBytes
Flash: 4 MBytes
Date:Aug 12 2009  Time:13:57:22
起動時にモニタしてるとこんな感じで出てきたのでCPUはRalink RT3052Fっぽい。
Logitecのルーターで脆弱性で騒がれてたけど実はシリアルナンバーにB無しはRalinkでB付きはRealtekなのかな。B無しはアップデートの必要なしって書いてあったし…。

Ralink RT3052FなのでOpenWRTみたいな改造ファームウェアも使えそうな気がする。USB付いてるのでOpenWRTが入れられればNAS化もできそうだし。しかしCFIのROMなので剥がしてバックアップ取れないし、JTAGがついてないので書き換えミスったら怖いな…
構成的にはBuffaloのWHR-G300Nとほぼ同じなのでGPIOだけ変更してビルドすれば同じようなファームが動かせたりするかも?WHR-G300N v1はDD-WRTもあったような…

マルチSSIDをオフにして、セキュリティーをWPA2(AES)にしてiPhoneでスピードテストをしてみると最大で55Mbpsぐらい。
倍速モード(40MHz)に設定するとそもそもWiFiに接続できなくなったり、設定画面が超重くなったりするのでデフォルトのチャンネル幅20MHzで使うといいかも。
B付きのLAN-W300N/Rは80Mbps出てたのでRalinkよりもReaktekのほうがiPhone(倍速モード非対応なのでどっちみちチャンネル幅20MHz)とは相性がいいのかな。

USBデバイス共有機能はルーターモードじゃないと使えないって書いてあったけど、APモードでも設定をすれば使える。
APモードにして起動したらPCのIPアドレスを強制的に192.168.2.2に設定して192.168.2.1にブラウザからアクセスすると設定画面が出るので、上位のルーターから割り振られるのと同じセグメントのIPアドレスを手動で設定してやればOK。

でもやっぱりRalinkは熱くなる感じがする。 逆にLAN-W300N/RはB付きでRealtekだったけどすげー安定してるし、速い。発熱もほとんどない感じ。もしかしたらシリアル番号B付きは安定性が改善されてるのかもしれないな。

2016年2月7日日曜日

Orange Pi PCのKodiで赤外線リモコンを使ってみた。その2

前回はOrange PiのOpenELECでNECプロトコルの赤外線リモコンを使えるように設定したんだけども、フォーラムを見ていたらモジュールをアップデートして他のプロトコルにも対応したようなので試してみた。
なお対応してるプロトコルはこちらを見ればわかるかも。

フォーラムに貼ってあるイメージを早速入れてみた。

リモコンの登録方法は前回のNECプロトコルの時と少し違うっぽい。
ちなみにモジュール自体が入れ替えてあるからなのか、このファームに関してはNECプロトコルのリモコンに関してもこの方法じゃないと登録できないっぽい。

今回もSSH経由で設定してみた。
とりあえずKodiを止める。
systemctl stop kodi

irrecord /storage/.config/lircd.conf
でリモコンを登録する。
エンターを2回押してからリモコンのボタンを押しまくる。

リモコンプロトコルの解析が終わったらボタンの登録。
前回同様、割り当てたいボタン名を入力した後に、リモコンのキーを押す。
この時に長押しするとなんか変な動作をするので注意。

登録が終わったらボタン名を入れずにエンターを押して、リモコンのボタンを押すように言われるのでまた押しまくる。
これでリモコンの登録は完了。

次に
nano /storage/.config/lircd.conf
で先ほど作ったコンフィグファイルを開いてNECプロトコルの時と同様に
name /storage/.config/lircd.conf
ってなってる部分を
name devinput
に変更して保存します。

最後に起動スクリプトを作成。
nano /storage/.config/autostart.sh
以下の3行をコピペして保存。
#!/bin/sh
killall lircd
lircd /storage/.config/lircd.conf
そして
chmod +rx /storage/.config/autostart.sh
で起動スクリプトに実行権限を与えて完了。

あとはrebootするとリモコンが使えるようになってるはず。

ちなみにキー名リストはirrecord --list-namespaceで出せるらしいので
ターミナルをもう一枚開いて確認しながらやるといいかも。

2016年1月31日日曜日

Orange Pi PCのKodiで赤外線リモコンを使ってみた。

やはりOpenELEC版のKodiはAndroid版と違って起動が速いし動作も更にサクサク!

テレビで使うにはやっぱりリモコンが使えたほうが便利なので赤外線リモコンを使ってみることに。Raspberry Piの時はOSMCで簡単にいろんなリモコンが使えていたんだけど、Orange Pi PCの赤外線受光部はSunxi-irの制約があるみたいでNECプロトコルしか使えない模様。(GPIOに別なモジュール繋げばいけるのかな?

とりあえず今回はフォーラムに乗っていたやり方でNECプロトコル対応のリモコンを使えるようにしてみた。
たまたま東芝のテレビのリモコンがNECプロトコル対応だった。

設定にはシリアルコンソールかSSHが必要。今回はSSHを使用した。
sshでrootでログオンする。デフォルトパスワードはopenelec。
リモコンのデバイスはKodiで予め使用されてるのでkodiを終了。
systemctl stop kodi

まずは赤外線リモコンが受信できるかテスト。これでNECプロトコルかどうかも判断できるかも。
ir-keytable -t --sysdev=devinput -d /dev/input/event1
この状態でリモコンのボタンを押すとNECプロトコル対応のリモコンの場合は画面に何か表示されるはず。

うまく認識出来てるようなら次はリモコンの登録。
この画面はCtrl+cで終了できる。

irrecord /storage/lircd.conf -H devinput -d /dev/input/event1
このコマンドでリモコンを登録していく。
一度実行すると設定ファイルができるので、もし失敗してもう一回実行する場合は設定ファイル名を変更するか、
rm /storage/lircd.conf
で先ほど使った設定ファイルを削除すると良いかも。

早速このコマンドを実行すると説明が表示されるのでとりあえずEnterキーを押す。
次にリモコンの適当なボタンを数秒ずついろんなボタンを押して見る。
画面にピリオドで埋まるはず。(ピリオドが増えない時は長押ししてみると良い。)

そして次はリモコン登録
登録したいキー名を入力してエンターをおした後にリモコンの割り当てたいボタンを押す。
これの繰り返し。

登録を終わりたいときは登録したいキー名を入力せずにEnterを押すと登録完了。

登録したらそのままでは使えないのが面倒なところ…
先ほど作成した設定ファイルを編集します。
sed -i -e "s/ 0x00000000000000//g" /storage/lircd.conf
で余計なリモコンコードを削除します。
なぜか各リモコンコードの後ろに0x00000000000000が付くらしい。

次に
nano /storage/lircd.conf
で設定ファイルを開いて
name /storage/lircd.conf
ってなってる部分を
name devinput
に変更します。
ctrl+x → Y → Enterで保存。

これでKodiが認識できるようになる模様。

最後に起動時にlircがこの設定ファイルを読み込むようにします。
nano /storage/.config/autostart.sh
でシェルスクリプトを新規に作成して
中身に以下をコピペ

#!/bin/sh

killall lircd
lircd -H devinput -d /dev/input/event1 /storage/lircd.conf

そしてctrl+x → Y → Enterで保存。

次に実行権限を与える。
chmod +rx /storage/.config/autostart.sh
これで再起動すればリモコンが使えるようになってるはず!
rebootコマンドで再起動できます。

リモコンで電源付けられるようになると便利なんだけどなぁ


P.S
2016/02/07以降ではNECプロトコル以外に対応したため登録方法が変わりました。
その2を参照ください。

2016年1月13日水曜日

Orange Pi PCでKodiを使ってみた(OpenELEC版)

結構Orange Pi PCを放置していた感がありますが、結構CPUパワーがあるのでVPNルータとして使ってました。
というのも前回AndroidでKodiを使ってみたり、LinuxのGUIも結構サクサク動くんだけど、どうしてもGPUやVPUのサポートが微妙でマルチメディアに弱い感じが…
Androidに関しては起動が遅いし。

久しぶりにフォーラムを覗いてみたらGPUとかCedarXの開発が進んでいるようで、Linuxでも動画をハードウェアアクセラレートで再生できるようになっている模様。

というわけで早速OpenELECを試してみた。OpenELECは軽量のLinuxにKodiを搭載したもので、Kodiでネットワークマルチメディア専用として使うのであればAndroid版のKodiより起動も早くてサクサク動くはず。
Openelec Build for OPI PC
こちらのフォーラムのOpenELECを使ってみた。
Megaにイメージがアップロードされているのでimgファイルをダウンロードして解凍、前回Debianを書き込んだようにddでmicroSDに書き込んだ。

あとは電源を入れると自動でKodiが起動する。

起動がなかなか速い!
初回はセットアップウィザードが表示されるので、それにしたがってネットワークなどの設定をする。SSHもここで有効にするかどうか選べるっぽい。(後から変更可)
そのままでは日本語ファイルが読めないのでフォントをArial Baseにして、Shift-JISに設定してみた。

カーネルにバグが有るようで、CPU4コアのうち1コアが常に100%になっているけど特に重いということはない。メモリも1080pのmp4再生中でも250MBぐらいしか使っていない!
結構使えるレベルでサクサク動くようになっていた。
もともとのH3もメディアプレーヤー用のCPUっぽいのでこれで本領発揮といったところなのかな。

内蔵のリモコン受光部は今のところNECプロトコルしか使えないようだけどRaspberry PiみたいにGPIO使ってどうにかならないものかなぁ…
とりあえずいろいろいじってみるかな。

追記:
CPUが100%になるバグを修正したバージョンが出た模様。
どうやらkswapdが暴走してCPUが100%になるのはCMAが原因だったようで、ARMとGPUのメモリ割り振りを固定にしたっぽい。(詳しくはフォーラム参照
なのでKodiのシステム情報ではメインメモリが800MBぐらいに減ってる用に見える。
http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=648&page=30#pid8545
ちなみにこのバージョンには日本語が入ってる模様。
日本語に設定する前にフォントをArial baseに設定するのを忘れると大変なことになるので注意。

2016年1月8日金曜日

純正そっくりでMFi認証なLightningケーブルを買ってみた。

カーオーディオ用に使っていたLightningケーブルが断線したので、純正そっくりで200円ぐらいのMFi認証とってないケーブルを使っていたけど、すぐ断線してしまったので純正そっくりなMFi認証なLightningケーブルを買ってみた。

純正のLightningケーブルは高い…
しかしながら純正そっくりなLightningケーブルはMFi認証がないので「このアクセサリーは対応していません」とか表示される。(エラーが出たままでも使えるけど)

純正以外のLightningケーブルは端子の部分が大きい物が多くて、今使っているアルミタイプのケースだと端子が刺さらないことが多い。純正だとすごく小さいのでそんな心配もない。
そこで楽天で探してるとMFiを謳っている純正そっくりなやつを見つけたのでポチってみた。価格も純正の半額で1000円ちょい。

Apple 認証 iphone iPhone6s 充電 ケーブル(ry
商品名が長いよ…

なんか怪しい感じがしてるけど実際届いてみるとコネクタは純正形状だった。

上から純正、今回届いたやつ、MFi認証とってない奴。
端子の形状を見るとMFi認証とってないケーブルはコネクタが3ピース構成になってる。
MFiとってあるやつは一体型で隙間がない。

ケーブルの長さも同じだし、見分けがつかないぐらい純正っぽかった。
実際カーオーディオで使ってもエラーメッセージも出ず、純正と同じ感じ。
次回は黒色をポチってみようかな。

2015年12月26日土曜日

V-ONE R電動バージョン完成!

サイドステフィナ固定方法が決まったのでパーツを作ってもらいました。
これで干渉しないで取付可能。クラッシュ時にモータの軸が曲がらないためにもここらへん重要な気がする。

前回はTA-05用の70Tのスパーを搭載してみたけどそれだとモータがベルトのプーリに干渉してしまうのでTA-04用の83Tのスパーを購入してみた。
とりあえず83Tが最大って感じ。
ピニオンは23Tにしてみた。

一番のネックはバッテリの搭載場所なんだよねぇ…
やっぱり燃料タンクがあったあたりにマジックテープで止めるしかなさそう。
ESCはX-CAR 120AをXERUN-120A V2.1のファームウェアに書き換えたやつ。
モータはTrackstarの5.5T

とりあえず3セルでテスト走行してみたけどTA-05みたいに吹っ飛んで行かない!
やはりエンジンカーのシャーシにブラシレスは面白い。
ちょっと加速しただけでスポンジタイヤが滑ったり、ベルトが滑ってる音が…
もうちょっと調整して次回はスピードを測定してみたいな
(テスト走行で結構ベルト消耗した気がする…