Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
tokaido-lug-201812-yokohama
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
musashino205
December 15, 2018
Technology
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
tokaido-lug-201812-yokohama
musashino205
December 15, 2018
More Decks by musashino205
See All by musashino205
OSC2025_Tokyo-Fall_RecentOpenWrt
musashino205
0
110
OSC2019-TokyoFall_OpenWrt-and-Monitoring
musashino205
0
180
tokaido-lug-201909-yokohama
musashino205
0
130
OSC 2019 Tokyo/Spring Aterm & OpenWrt
musashino205
0
980
OSC 2018 Tokyo/Fall OpenWrt
musashino205
0
420
tokaido-lug_201807-yokohama
musashino205
0
500
OSC2018-Tokyo/Spring_OpenWrt
musashino205
0
320
TokaidoLUG-201712_Router
musashino205
0
350
Other Decks in Technology
See All in Technology
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
130
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
Android の公式 Skill / Android skills
yanzm
0
140
【NRUG vol.18】なぜ多くのオブザーバビリティ導入は失敗するのか
nrug_member
0
120
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
930
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
940
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
6
5k
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
280
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
150
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
120
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
350
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
920
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
WENDY [Excerpt]
tessaabrams
11
38k
We Have a Design System, Now What?
morganepeng
55
8.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Ruling the World: When Life Gets Gamed
codingconduct
0
250
Being A Developer After 40
akosma
91
590k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Fireside Chat
paigeccino
42
3.9k
Transcript
近況まとめ 東海道らぐ 横浜 2018冬 @musashino205
自己紹介 • HN: 武蔵野, 大破 • musashino_205 • musashino205 @mstdn.maud.io
• 続きはWebで: taiha.net, 大破.net
OpenWrtとは • ルータ等の組込デバイス向けLinuxディストリビューション • 見方を変えると → 組込Linux開発環境 • サポート済み各SoCに最適化されたLinuxイメージの生成 •
組込デバイスに特化したユーティリティ類 • dnsmasq, dropbear, busybox, ... • デバイス用ファームウェア生成ツール類 Linuxカーネルからファームウェアまで スライド: https://speakerdeck.com/musashino205/fall-openwrt
法律関係 • 市販ルータ(技適取得済み)へのサードパーティファームウェア導 入は “改造” に該当する可能性がある • 技適認証が無効扱いになる • OpenWrt等サードパーティファームウェアをインストールする場合、
電波は原則として出力しない • Raspberry Pi等は例外 法律を守って楽しいhackを。
近況
近況 • 機種のサポート追加(初夏の横浜以降(2018.08~)) • マージ済み • BUFFALO • BHR-4GRV (2011.08上旬
– ?(販売終了)) • BHR-4GRV2* (2014.06上旬 – ) • WZR-HP-G302H (2010.12上旬 – ?(販売終了)) • I-O DATA • ETG3-R (2013.03下旬 – 2018.03.07) • WN-AG300DGR (2012.8下旬 – 2013.11.13) • WN-AC1167DGR (2013.09中旬 – 2014.12/24) • WN-AC1600DGR2 (2014.03中旬 – 2014.10.01) • ELECOM • WRC-300GHBK2-I (2015.07下旬 – ?(販売終了)) * : ar71xx -> ath79移植
近況 • 機種のサポート追加(続き) • 作業中 • BUFFALO • WXR-2533DHP (2015.06中旬
– ?(販売終了)) • I-O DATA • WN-AC1167GR (2014.10下旬 – 2018.02.14) • WN-AC1600DGR (2013.06中旬 – 2014.07.16) • ELECOM • WRC-733GHBK (2013.10下旬 – ?(販売終了)) • WRC-1750GHBK2-I/C (2015.01中旬 – ?(販売終了)) • NEC • WG800HP (2016.04.14 – ?(販売終了)) • stock firmware → OpenWrtベース • 作業中(特別挑戦枠) • NEC • WR8750N (2012.01中旬 – ?(販売終了)) • NetBSD機
NEC Aterm WR8750N
NEC Aterm WR8750N • ハードウェア仕様 • SoC: Atheros AR9344 (1C1T,
560MHz) • RAM: 128 MB (DDR2 64MB x2) • Flash: 8 MB (SPI-NOR) • Ethernet: 1000 Mbps x5 • Switch: Atheros AR8327 • USB: USB 2.0 Type-A x1 • ソフトウェア仕様 • Bootloader: 不明(オリジナル?) • OS: NetBSD • Baudrate: 9600 bps ハードウェアは(RAMだいぶ多いけど)至って普通、ソフトウェアは(民生 用としては)異色
NEC Aterm WR8750N • 元々NECのNetBSD機は避けていた • Linuxをブートできなさそう • 色々めんどくさそう •
が。 • SoCが古すぎない, GbE機, ...などの条件の機種が尽きてきた • まだ多少あるけど • AR9342 / AR9344はまだまだ使えるので興味が湧いた • USBポートあるし使い勝手良さそう • NetBSDブートできるならLinuxだってブートできるやろ(←???????? • NEC機は似たソフトウェア構成の機種が多い • この機種サポートできれば他機種もワンチャン
NEC Aterm WR8750N • レッツトライ • BootloaderとKernelにパスワードが掛けられている • Bootloaderは5chにヒント有 •
TFTPで流し込むことはできそう • tftpd コマンドでTFTP待ち受け、クライアントからTFTP PUT • OpenWrtのinitramfs (Kernel + ramfs Root) ファームで試行 できそう
NEC Aterm WR8750N • Bootloaderコマンド類(主要なもの) • boot: Load済みイメージをブート • tftpd:
TFTPサーバ開始 • debug: 各種デバッグコマンド • debug memory: メモリ系デバッグコマンド • debug memory read 0xb805002c 1 • 0xb805002cから1word(32bit)読み出し • debug flash: Flash系デバッグコマンド • debug flash info • Flash情報表示 • debug flash read 0xbf000000 100 • 0xbf000000から100byte読み出し
NEC Aterm WR8750N • 進捗 • gzip-compressedなOpenWrtのLinux Kernelを開始すること はできた
start tftp load openwrt-ath79-tiny-nec_wr8750n-i end tftp load length = 3583343
start memory load ... memory load complete begin : 0x80060000 length : 3583319 startup: 0x80060000 boot begin : 0x80060000 length : 3583319 startup: 0x80060000 option: 0x0 [ 0.000000] Linux version 4.14.87 (tofu@tofu-z77hvub18_openwrt) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r8695-1eb39ece8d)) #0 Tue Dec 11 13:11:03 2018 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 0001974c (MIPS 74Kc) [ 0.000000] MIPS: machine is NEC Aterm WR8750N [ 0.000000] SoC: Atheros AR9344 rev 1 [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 08000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] random: get_random_bytes called from 0x8045772c with crng_init=0 ...
NEC Aterm WR8750N • 進捗 • gzip-compressedなOpenWrtのLinux Kernelを開始すること はできた •
お!?!?!?
NEC Aterm WR8750N • 進捗 • gzip-compressedなOpenWrtのLinux Kernelを開始すること はできた •
お!?!?!? • が。
[ 1.048781] TCP bind hash table entries: 1024 (order: 0,
4096 bytes) [ 1.124770] TCP: Hash tables configured (established 1024 bind 1024) [ 1.200908] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 1.270713] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 1.345915] NET: Registered protocol family 1 [ 1.511715] Crashlog allocated RAM at address 0x3f00000 [ 1.575637] workingset: timestamp_bits=30 max_order=15 bucket_order=0 [ 1.657573] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 1.727362] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ IPL:SOFT-RESET memory test ... ok flinistall OK boot version: 1.0.0 PKG “Orthos-HP” CPU “Atheros/AR9344” Revision 212.1 CLOCK 560.0 MHz HEAP MEMORY 262144 bytes Boot: InitFilesystem phy0.1: “Atheros/AR8327(SW)” phy0.0: “Atheros/AR8327(phy)” active ch:0 now booting Firmware ... loaded Firmware ... (以降FlashからNetBSDのブート)
NEC Aterm WR8750N • 進捗 • gzip-compressedなOpenWrtのLinux Kernelを開始すること はできた •
お!?!?!? • が。 • ブートが途中で中断され、soft-resetが掛かって再起動されてし まう • この原因は不明 • 複数の方より 「watchdog timer (wdt) では」 という指摘 • DTSで無効にしても変わらず • 要検証 • 原因を特定できず作業が行き詰まり • ヘルプミー!!!!!
おわり