honeylab's blog

各種ハードウェアの改造、主にファミコンミニなどをやってます(ました)

ドンキWiFiカメラハック(3)

前回までの記事はこちら

honeylab.hatenablog.jp

honeylab.hatenablog.jp

 

追加してきたのでもう安心。

Image

 

さてと、このカメラ、AndroidiOSにターゲットを絞り、クラウドに誘導することで日銭を稼ぐシステムの片棒を担がされている気がするので、その辺を外していきます。

ドンキはこれいくらで仕入れてきてるんだろう?

開いてるポート番号を調べてみます。外からツールを使うのではなくて、netstatで調べます。

# netstat -a -p
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:9008 0.0.0.0:* LISTEN 187/p2pcam
tcp 0 0 0.0.0.0:www 0.0.0.0:* LISTEN 187/p2pcam
tcp 0 0 0.0.0.0:telnet 0.0.0.0:* LISTEN 204/telnetd
tcp 0 0 0.0.0.0:5050 0.0.0.0:* LISTEN 187/p2pcam
tcp 0 0 0.0.0.0:7101 0.0.0.0:* LISTEN 187/p2pcam
tcp 0 0 0.0.0.0:7103 0.0.0.0:* LISTEN 187/p2pcam
tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 187/p2pcam
tcp 0 0 0.0.0.0:3201 0.0.0.0:* LISTEN 159/tees
tcp 0 0 0.0.0.0:554 0.0.0.0:* LISTEN 187/p2pcam
tcp 0 0 0.0.0.0:843 0.0.0.0:* LISTEN 187/p2pcam
tcp 0 0 0.0.0.0:6670 0.0.0.0:* LISTEN 187/p2pcam
tcp 0 157 192.168.200.1:telnet 192.168.200.100:5388 ESTABLISHED 204/telnetd
udp 0 0 0.0.0.0:7998 0.0.0.0:* 187/p2pcam
udp 0 0 0.0.0.0:8001 0.0.0.0:* 187/p2pcam
udp 0 0 0.0.0.0:8002 0.0.0.0:* 187/p2pcam
udp 0 0 0.0.0.0:bootps 0.0.0.0:* 269/udhcpd
udp 0 0 0.0.0.0:8888 0.0.0.0:* 187/p2pcam
udp 0 0 0.0.0.0:20188 0.0.0.0:* 187/p2pcam
udp 0 0 0.0.0.0:9999 0.0.0.0:* 187/p2pcam
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 259 185/rsyscall.goke /tmp/systemcall.sock
unix 2 [ ACC ] STREAM LISTENING 282 187/p2pcam /tmp/aaa
unix 2 [ ] DGRAM 547 264/hostapd /var/run/hostapd/wlan0
unix 3 [ ] DGRAM 231 159/tees /var/run/tees.sock
unix 2 [ ] STREAM CONNECTED 327 264/hostapd /tmp/systemcall.sock
unix 2 [ ] DGRAM 299 187/p2pcam 

見にくい。Excelで整形しよう。

9008 187/p2pcam
www 187/p2pcam
telnet 204/telnetd
5050 187/p2pcam
7101 187/p2pcam
7103 187/p2pcam
8001 187/p2pcam
3201 159/tees
554 187/p2pcam
843 187/p2pcam
6670

187/p2pcam

 telnetdはbusyboxで、そのほかのサービスは内蔵のカメラアプリが開いて要るっぽい。
専用サーバアプリじゃないのでURLが分かりにくい…

使えそうなポートを確認してみる。554はRTSPだ。

VLC Media Playerを開き、rtsp://192.168.200.1:554/ を開く。

f:id:honeylab:20190507050737p:plain

うん。簡単に再生できた。ローカル内で監視するならこういった簡単な操作が望まれる。

f:id:honeylab:20190507051003p:plain

(上記画像は、暗いところなので暗視白黒になっている)

これで遠隔からptzを制御できれば完璧なのだが、どうやら今のところ独自プロトコルらしく、独自に解析されたこちらのツールを使うのがいいようだ。

https://github.com/ant-thomas/zsgx1hacks

wwwもあるのだが、どうも該当ファイルが置いていないか無効化されていて何もできないっぽい。上のハックツールではそれを利用しているようにも見える。

 

そして、ここの解析にもある通り、このWebカメラ、起動時にmicroSDスロットに特定のファイル名でシェルスクリプトを置いておくと実行してくれる超便利な機能があるっぽい。

f:id:honeylab:20190507052835p:plain


うーん、便利!

このカメラ、なんとスピーカーが付いていて起動後何も設定されていなかったりすると「QRコードを読み込んでなんたらかんたら」って怪しいイントネーションの日本語でしゃべったりするんですよね。

この音声ファイルはFLASHに圧縮されて書き込まれていて、起動時にRAMに展開されています。

FLASHを上書きするのはちょっとめんどいので、RAM上のこのファイルを上書きすると好きな音声でしゃべらせられるようになると思います。

f:id:honeylab:20190507053507p:plain

あと、一部の音声は英語のままなので出ないと思いますし、怪しくないイントネーションの日本語もあるので、オリジナルの日本語対応の後、クラウド化による日本語追加が行われている気がします。

alarm.wavはひゅーんっていう効果音で、何か警告音を鳴らせるのでしょうか。

これが謎の音声とかにできれば不審者にいいトラウマを植え付けられますね(駄目です)
うーん、単独で音声ファイルを再生できるツールがあれば任意のタイミングでならせる気がするが、これp2pcamバイナリでしかできないのかな…(Linuxサウンドバイスとしては見えてない)

 

その他のポートが何なのか今のとこわかっていないが、RTSPでストリームを見れるだけで結構便利だと思います。
ネットワークに詳しいならクラウド使わなくてもこれだけ転送すれば行けるでしょ

(セキュリティに気を付けてね!)

 

<追記>

普通にONVIFカメラとしてストリーム再生、PTZ操作できました…

f:id:honeylab:20190507073821p:plain

 

ドンキの見守りWiFiカメラ「スマモッチャ-」を発売直後に分解してハックし始める(シリアル、telnetログイン)

もう一台買おうと思っていたのにGWで実家に帰っているうちに地元店舗から在庫が消えているぞ…

 

さて、実際にハックし始めます。
背面のmicroUSB端子は物理的に電源ピンしか配線されていませんので通信等の機能はありません。

調べてあったUART端子にUSB-TTL変換ケーブルを接続し、シリアルログインを試みます。

 

しかし、rootのパスワードがわかりません。

が、実はこのボードの共通パスワードがデフォルトのままセットされているためそれが使えてしまいました。
ここに直接書くとアレげですが、前の記事にあるキーワードでググり続けると見つかると思います。

f:id:honeylab:20190506003041p:plain

さっくりそのパスワードでログインできました。

しかし、なんだかデバッグメッセージが表示されてて作業しにくいです。
dmesg -n 1でも消えないプログラムからの表示がシリアルに流れているようです。

で、psを見てみると。

f:id:honeylab:20190506003203p:plain

telnetdが動いているようなので、接続にトライします。

ifconfigを見てみます。

f:id:honeylab:20190506003252p:plain

起動直後、何も設定していない状態では、こいつがAPになった状態になっていますので、PCからそのアクセスポイントにつないでやります。
SSIDはCLOUDCAM_(MACADDRESS)になっています。

f:id:honeylab:20190506003408p:plain

これにつなぐと、192.168.200.xのIPがもらえるので、192.168.200.1にtelnetしてみます。

f:id:honeylab:20190506003458p:plain

f:id:honeylab:20190506003722p:plain

 

つながっちゃった。
これで変なメッセージも出ないし、複数ターミナル開けたりで便利です。

あとは、wwwが立ち上がってるんだけど、デフォルトで変なパスに飛ばされちゃうな…

 続きはこちら

honeylab.hatenablog.jp

ドンキの見守りWiFiカメラ「スマモッチャ-」を発売直後に分解してハックする(準備)

はい、スルーする予定だったんだけど、誰かがTwitter

なんのSoC入ってるんだろう、って言ったのを見ていてもたってもいられなくなって

発売直後に買ってきて(正確には勢い余って前日深夜に確認しに行って、翌朝発売であることを確認した)

www.gizmodo.jp

 

その直後に駐車場で分解して納得して、

色々調べた後ようやくシリアルコンソールログを確認したところです。 

メイン基板の裏表

f:id:honeylab:20190503233144p:plain f:id:honeylab:20190503233217p:plain

 

各部の説明はこんな感じ

 

f:id:honeylab:20190506001410p:plain f:id:honeylab:20190504231327p:plain

 

 SoCはGOKEとかいうところのGK7102っていうやつ。

ARM系。なのでu-bootが入っていると期待される。

 FLASHはSPI接続のGD25Q128。8MByte。

 さっそくu-bootのログ

https://bitbucket.org/!api/2.0/snippets/bakueikozo/7eGyeK/2e406a886913a2b21f17ccbc673ab64101233b5e/files/u-boot%E3%83%86%E3%82%B9%E3%83%88

 

Linuxの起動ログ

https://bitbucket.org/!api/2.0/snippets/bakueikozo/7eGyeK/2e406a886913a2b21f17ccbc673ab64101233b5e/files/%E9%80%9A%E5%B8%B8%E8%B5%B7%E5%8B%95

電源投入後、u-boot実行イメージがSPI FLASHから読み込まれ、
続いて、 Linuxカーネルを読み込んで実行する。

u-bootのコマンドラインはこれ

bootargs=console=ttySGK0,115200 mem=36M rootfstype=squashfs root=/dev/mtdblock2 init=linuxrc mtdparts=gk_flash:320K(U),1664K(K),1152K(R),2560K(A),-(H)
bootcmd=sf probe;sf read 0xc1000000 0x50000 0x1A0000;bootm 0xc1000000;

 

CPU情報はこれ。

[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.4.43-gk (root@localhost.localdomain) (gcc version 4.6.1 (crosstool-NG 1.18.0) ) #71 PREEMPT Fri Nov 10 15:20:07 CST 2017
[ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[ 0.000000] CPU: VIPT aliasing data cache, VIPT aliasing instruction cache

 

[ 0.020000] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)

 

u-boot、Linuxが起動して、p2pcamっていうアプリがクラウドとの通信を行う。

基板上に載ってるRTL8188のWiFi基板はSoCとUSBで接続されてる。

[ 8.550000] usbcore: registered new interface driver rtl8188fu

u-bootの時点でSPI FlashもMMCも生きてるのでMMCから起動とかもできそう。
SPI剥がさなきゃかな?とか思ってたけど全然そんな必要ないわ。

 

######Get Hardware Info: model:CloudCam, firmware-ident:eyeplus_ipc_gk_005

っていうのがベースのハードウェアなのかな。

イメージセンサは GC2033

[ 0.170000] [GPIO CFG] IR CUT1 (44)
[ 0.170000] [GPIO CFG] IR CUT2 (39)

IRカットって電子制御なの?昼間切っとけば透けるんじゃね?(何が)

 

https://www.gcoreinc.com/product/showproduct.php?lang=cn&id=107

Flashパーティション分け

[ 0.610000] gk_flash gk_flash.0: GD25Q64C (8192 Kbytes)
[ 0.620000] 5 cmdlinepart partitions found on MTD device gk_flash
[ 0.620000] Creating 5 MTD partitions on "gk_flash":
[ 0.630000] 0x000000000000-0x000000050000 : "U"
[ 0.640000] 0x000000050000-0x0000001f0000 : "K"
[ 0.640000] 0x0000001f0000-0x000000310000 : "R"
[ 0.650000] 0x000000310000-0x000000590000 : "A"
[ 0.660000] 0x000000590000-0x000000800000 : "H"

U-boot,Kernel,あとはなんだろ。

 

っていうか、このSoC使われまくっててすごい解析・ハックされてるわ。
このカスタムイメージ書くだけで色々できそう。

さて、続きはGW開けてからです…とりあえず最速分解は達成できたかな…

 

続きはこちら

honeylab.hatenablog.jp

 

 

技術書典6お疲れ様でした

4/14に開催された技術書典6に参加してきました。
真面目な話、即売会に出店側というのは初めてだったので到着直後からテンパっていたのですが、どうにか無事撤収することができました。

感想としては、えぇぇこんなに売れるの、というのがあるのですが、
サークルチェック数に胡座をかいて呼び込みを端折ると売れないんだ!というのが大きな気づきでした。

販売チャンスをずいぶん逃してしまったようでもったいないことをしたな、というのが大きいです。
場所のこともあるのですが、とにかく人の流れが大きくなっちゃうとサークルが存在していることさえ気づかれないんですね。
昼過ぎの1時間ぐらい全く人が寄らない地獄みたいな気分を味わったのですが、周囲を偵察に行った売り子(嫁)に言われて本を掲げているだけで全然人の目線が変わって多くの人が立ち読みしてくれるようになりました。

チェック済みでパパっと買っていってくれる方がいるのもうれしいですが、目の前で中身を確認したうえでお金を払ってくれる、というのはそれはそれで安心感がありましたw

結果、サークルチェック数170に対して持ち込み150、現地頒布数120という爆死とはいかないまでも中破程度の実績となりました。
お立ち寄り、お買い上げいただいた皆様ありがとうございました。

初回参加、初製本でこれだけ反応があるとさすがにモチベーションに直結しますね。
今後とも日々の工作活動をこの形で出していくことができればいいなと思っています。

 

さて、残った在庫をBOOTHに出しておきましたが、在庫数はそれほど多くありません。

honeylab.booth.pm

もしよろしければこの機会に読んでいただければ今後の開発の励みになります。

 

さて、4/14当日、我々のまだ制御の効かない1歳9か月の息子をどうしようかと検討していた結果、現地近くの一時預かり保育に行ってもらっていました。

色々調べた結果、サンシャインから徒歩圏内の愛嬰幼保学園が便利そう、ということで予約をしていました。

「インターナショナル」な保育園、ということも気になっていました。

www.aieiyoho.com

問い合わせ・予約がメールフォームで行え、返信も非常に早かったです。

当日、準備にもたついて到着が遅くなりそうだったため電話連絡をしてみると

…うん?独特のイントネーション…中国?

まぁインターナショナルだし、そういうスタッフも居るよね…

と思って到着。サンシャインから徒歩とはいえ、時間も押しているしわざわざ歩かせる必要もないので目の前のコインパーキングに止めました

なるほどビルの3階。都会的なやつだ。

こんにちはー

あ、さっきの中国人の方かな。
「はじめて?この紙読んで?登録するよ」ざっくりのやつだ。
…お、もうひとりも中国人かな。多いなw

そして気づく。インターナショナル!!!物は言いよう!!(ただの感想です)
息子はというと、さっさと中に入れろ、遊ばせろ、といっているのでさっさと登録して中に入ってもらい、サンシャインに向かいました。


ここ、持ち込みおむつ・おやつ・弁当不要(給食がある)で最低限着替えだけ持っていけばさっと預けられるようになっていてすごい便利でした。
実はこの前の週まで一度も外部の預かりを利用したことがなく、少しでも慣らせればと自宅近くで3時間初めて預けてみたのですが、何のこともなくケロッとしていたので大丈夫かなと思っていたのですが、実際9時から17時まで8時間預けても何でもなかったようでした。(流石に迎えに行ったらニコッとしてくれたが)

お迎えのときは別の(中国人男性)が対応だったのですが、(初回は1万円先払い)精算をさっと済ませて終わり、とあっさり。
一応どうだったか聞いてみたらずっとニコニコして一度も泣かなかった、といっていました。

まぁ、家でも泣くことなんてないんだけどこの子。

 

というわけで、いろいろ所見でびっくりすることもありましたが、そういうところを気にしない方、むしろ給食対応とか預けやすいので池袋でなにかあるときにはまたここを利用しようかな、と思っているところです。

あと、前日に車が壊れたのが痛かった…レンタカー代…

最後にもう一度、

BOOTHで販売中です!

honeylab.booth.pm

レトロアーケード PAC-MANを解析する

というわけで、近所のトイザらスで買ってきました。 

一応前から出ていることは知っていたのですが、ちょっと忙しいので見ないふりをしていたレトロアーケード(MICRO PLAYER RETRO ARCADE) PAC-MAN を解析してみました。

実はすでにある程度解析されていて、同一基板、同一FLASHのものをジャンパ設定で5種類のゲームに切り替えられる、というところまではわかっていたようです。

gorigo.exblog.jp

で、どうも内蔵しているゲームがファミコン版(をベースにしたもの)であるため、中身はファミコンだ、などと言われていたのですが、技術的に考えると、中身はファミコンじゃないんですよ。

("ファミコン"はCPUとかSRAMとかVPUとかで構成されているわけで、樹脂モールドされた中にそれがそのまま入っているわけではなく、また表示もNTSCではなくTFT液晶になっています。つまり、これはファミコンではないのです)

そのため、私は実はファミコン版からこの機器用のCPUに移植かなにかしたものが入っていて、ゲームの差し替えなんて全然望めないものである可能性もあり、それを確認するためにどうしても分解して確認する必要があったのです。

 

 

早速分解してみます。先駆者がいるため簡単に分解できました。

f:id:honeylab:20190423101839p:plain


初期ロットはジャンパ部分がむき出しで簡単にROMを切り替えてプレイできたようですが、対策版としてエポキシモールドされてしまっています。

ROMはGD25Q80C、Quad SPI Flashであることが事前にわかっていました。

f:id:honeylab:20190423183620p:plain


時々SPI Flashを読むためにArduinoでリーダを作ったりしていましたが、それが主目的ではないため、今回はAmazonでぽちっと中華リーダ・ライタを買ってみました。

f:id:honeylab:20190423102251p:plain

さて、肝心のSPI Flash、基板につけたままでは読み書きに問題が出る可能性がありますのでいったん取り外します。樹脂モールドがSPI Flashにもかかってしまっているので超音波カッターで基板を傷つけないように削っていきます。

一旦はんだを盛り、吸い取り線でFlashを剥がします。

f:id:honeylab:20190423162801p:plain

汚い!が、問題なし。

 

今回買ったFlashリーダ、親切にも変換基板が2枚もついていました。大変親切!

f:id:honeylab:20190423183031p:plain

変換基板に乗せます。

f:id:honeylab:20190423191356p:plain

リーダのドライバが署名なしのため、bcdeditでWindowsをテストモードにしてドライバを入れ、読み出しソフトを起動し、パラメータを合わせてREADします。

 

読めた!!!!

 

うーん、いきなりBANK0 っていう文字が見えてるけど、これが本体のファームに絡むものなのか、ゲームデータに絡むものなのかわからないな。

とりあえず全文検索NESヘッダを探してみるものの、見つからない。
NES形式ではないのか。とりあえずもうちょっと見てみよう。

COPYRIGHTの文字が見える。生ROMなんだろうか。

じゃぁ本来の生ROMと目コンペアしてみよう…

 

あ、一致するわ。これほんとにファミコン版のROMのバイナリパッチだ。

まじか。

というわけで、NESヘッダがないので非常に見つけにくいんだけど、
既存のROMとの比較で大体の存在位置を確認したのでそれを張っておく。

DIP ROM # hex offset hex size  
0 0 0 40000 ローリングサンダー
1 1 40000 8000 パックマン
2 2 48000 4000 マッピー
3 3 4C000 8000 ディグダグ
4 4 54000 6000 ギャラガ
5 5 5A000 6000 ギャラクシアン

FLASH全体で1MByte(8MBit)だけど、後半512KはFFだったので見てないと思う。
どっかにROMのオフセット表があると思うんだけどまだ見つからない。

そして、吸い出したROMにNESヘッダを付けてエミュレータに読み込ませてみたら

動いたwwww

 

さて、あとはROMを上書きして動かせるかどうかだな…
チェックサムを見てるかどうかとかを見るために一バイトだけ書き換えたりして試してみようかな。

 

 

 

プレステクラシックのカーネルの書き換え方

プレステクラシックのBOOTIMG1,BOOTIMG2パーティションに収められているのはfitImage形式のブートイメージです。

これは、カーネルのバイナリ(ImageやzImage)と、ハードウェア定義であるDTBファイルを収めたものです。

カーネルを書き換えるには新たにfitImage形式のファイルを作り、BOOTIMG1に上書きしてやればいいです。

ただし、失敗するとちょっとやな感じなので、まず確実にもともとのBOOTIMG1のバックアップを取りましょう。

USB経由のスクリプトでも、シリアル経由でUSBメモリに保存してもいいですが、以下の方法でファイルを作り、大事に保存してください。

ただし、私の解釈ではこのファイルはGPLであり、著作権問題は発生しないと思っています。そのため、万が一忘れていたら、誰かにもらってもいいものだと思っています。

さて、どうにかしてシェルにログインします。一度前面USBをポートを使ってBleemSyncをインストールしている場合、BleemSyncのtelnetが簡単ですが、今後カーネルの書き換えやOTG化をした場合、自力で復活を試みれるように、生のシリアル経由で作業する方法も覚えておいたほうがいいと思います。

生のシリアル経由では、dmesgの出力が延々とでて邪魔なことがありますが、心の目で root [enter] でログインし、dmesg -n 1 をタイプすると黙らせることができます。

まずはバックアップです。

以下のコマンドを実行します。USBメモリは /media にマウントされているとします。

  • dd if=/dev/disk/by-partlabel/BOOTIMG1 of=/media/BOOTIMG1_ORIGINAL

root@bleemsync:~# dd if=/dev/disk/by-partlabel/BOOTIMG1 of=/media/BOOTIMG1_ORIGINAL


16384+0 records in
16384+0 records out
8388608 bytes (8.4 MB) copied, 0.191073 s, 43.9 MB/s

 BOOTIMG1 の代わりに /dev/mmcblk0p1 でもいいですが、番号だと間違えやすいです。/dev/disk/by- で[tab]を押して補完しながらやりましょう。

 

さて、カーネルファイルを準備します。

OTG対応、キーボード・マウス無視の、無効化、一部のUSB-Ethernet変換器のドライバを含めたカーネルをここに置きます。

 

www.dropbox.com

 

このカーネルを下のどちらかの方法で焼きます。

  • fastboot経由

本体を開け、fastboot用のパッドをショートしながら背面USBを接続し、fastbootモードに入ります。ホストPC用のfastbootやドライバはどこからか探してきてください。

fastboot flash BOOTIMG1

で書き込みます。パッドを戻し、電源を再接続します。

 

dd if=/media/otg_kernel.image of=/dev/disk/by-partlabel/BOOTIMG1

でOKです。再起動すると新しいカーネルで起動します。

前面USBをポートには何も影響がありませんので、BleemSyncかなにかが動いてる状態で以下のファイルを確認し、正常に書き込めているか確認します。

もしだめな場合、もう一度やり直しましょう。

 

万が一文鎮化してしまった場合

上記の「fastbootで書き込む方法」に準じ、fastbootに入ります。

fastboot flash BOOTIMG1 <BOOTIMG1_ORIGINALのフルパス>

で元のファイルを書き込みます。

 

正常にカーネルが更新されれば、以下の機能が追加されます。

  • キーボードの有効化
  • マウスの有効化
  • 背面USBのOTG(host)対応

ただし、OTGポートをhostとして動作させるには若干の工夫が必要です。

host/deviceの切り替えは以下のコマンドで実行できます。

  •  echo host > /sys/devices/platform/mt_usb/swmode
  •  echo device > /sys/devices/platform/mt_usb/swmode

起動後にうまいこと実行できるよう、起動スクリプトなどに以下の文を追加するといいでしょう。

私は、/usr/bin/start_pman の中に

if [ "$CHG_INFO" -eq "3" ]; then
echo change to hostmode
echo idle > /sys/devices/platform/mt_usb/swmode
sleep 1
echo host > /sys/devices/platform/mt_usb/swmode
sleep 1
fi

が入るようにしました。ちなみに

CHG_INFO=$(cat /sys/module/musb_hdrc/parameters/charger_info)

の値は、通常のUSB-DATAケーブルを使っている場合1が、OTGスプリッタケーブルの場合3が入るようです。これで見分ければいいと思います。

用途によって、どちらか固定でいい場合があると思います。BleemSyncはWebUIを使う関係でDEVICEになる必要がありますが、そのほかのツールで外部USBメモリを差し込めば使えるような場合はHOSTに固定してしまってもいいかもしれません。

 

おまけですが、USB-Ethernetのドライバを含めてあります。

dmesgを確認して、ifconfig eth0 up をすることでUSB-LAN変換が有効になります。

systemd-networkはインストールされていないので、その類の設定方法は使えません。ifconfig で IPアドレスを指定するか、busybox に含まれている udhcpc アプレットIPアドレスを取得します。

USB-LANが有効になれば、telnetftpがRNDISと同じように使えるはずです。

自動スタートアップとしてどっかに置いておくといいと思います。

 

OTGを有効にしていろいろ動かしているデモがこちらです。

 

youtu.be

 

あくまでも、これはOTGに対応したカーネル、というだけなので、OTGを使っていろいろなことを実現するには追加でユーザランドを調整する必要があります。

まぁLinux使えるならいろいろできるでしょう。

OTG機能を使わなくても、マウスとキーボードがちゃんと使えるようになっているので

dosboxやneko projectとかが快適に遊べるようになるんじゃないでしょうか。

(キーボードのESCなどがRetroArchのUIにハンドルされないようにするにはScrollLock(デフォルトのバインド)を押すといいようです。F11でUIのマウスポインタが消えます)

 

こういったカーネル書き換えの方法やプレステクラシックの回路図なんかを載せた同人誌を 4/14 技術書典6 にて頒布します。

f:id:honeylab:20190412160640p:plain

プレイステーションクラシック魔改造日誌」本文白黒 68p ¥1000円

関係者の方は声かけてください 献本しますw

techbookfest.org

4月14日(日) 技術書展 #6 @ 池袋 に出ます

ブログやツイッターで書いていた記事や技術情報をまとめた本になります

こんなにまとめて書くの久しぶりなのでページ数の割に安くしときますたぶん

下のリンク先にサンプルページもあるのでご参考に…

 

techbookfest.org

 

現在のところ、電子化の予定はありません

気合い入れて余るぐらいするつもりではいますが…

 (刷った本が余ったら物理通販の予定です(時代錯誤感))

息子を預けるか引き連れての参加のため、早めに撤収する可能性があります。

 

日時 2019/04/14 (日) 11:00〜17:00
場所 池袋サンシャインシティ2F 展示ホールD(文化会館ビル2F)
主催 TechBooster/達人出版会
一般参加は11時~13時のみ有料

 

イベント詳細は以下のリンクからご確認ください。

techbookfest.org