【無線LAN】OpenWrt/LEDE【強化ファーム】15
■ このスレッドは過去ログ倉庫に格納されています
▼OpenWrtとは
主に無線LANルータのファームウェアを書き換える形で動作するLinuxディストリビューションです。
パッケージマネージャを備えているので
メモリが許せば様々な追加ソフトをインストールして使うことが出来ます。
▼LEDEとは
2016年5月にOpenWrtから派生したディストリビューションです。
開発スピードが早く、2017年9月現在では事実上の後継バージョンといえます。
意見の相違からOpenWrtから独立しましたが、近々の再合流が話し合われています。
▼DD-WRTとの関係
初期のOpenWrtのGUI付バージョンとしてスタートしたプロジェクトで
現在ではかなり乖離しています
GUI操作前提の無線LANルータ用高機能カスタムファームウェアを志向しています。
▼電波法について
日本国内においてはOpenWrt/LEDEを組み込んだ無線LANルータで
無線LANをONにすると電波法に違反することになります。
『適合表示無線設備と同等の機能であっても技術基準適合証明の技適マークの無い機器、
または技適マークがあるが改造された機器の使用は、
総務大臣の免許の無いまま無線局を開設したこととなり、
第110条第1号により1年以下の懲役又は100万円以下の罰金刑に処される。』
※ Wikipedia「技適マーク」からの引用
OpenWrt/LEDEではインストール直後は無効になっているので
無線LANはOFFのまま高機能ルータとして利用しましょう。 今日の戦利品
モロッコヨーグル @20円 x4
うまい棒 @10 x2 エレコムの例のNASへのOpenWrtマイグレーションってどんな感じかな?
あと、ツイッター見てたら
openocdでJTAGアクセスに成功した方がいるみたい
Flashアクセスもできるようなら
bootloader書き換え含めてなんでもできそう > エレコムの例のNASへのOpenWrtマイグレーション
OpenWrtというよりカーネルのリビジョン移行(3.4.x -> 4.9.x)だが...
CPUコア 2個(Cortex-A9 SMP)起動、シリアルポートコンソール開通、
initramfsのroofs上でコマンドライン操作、まで進んだ
GPIOドライバに着手したところ
ここまでで約一ヶ月かかった printkすら使えない条件でのデバッグはツラかった
ブートローダは書き換えの必要性を感じない
u-bootに関しては開示ソースコードがそのままターゲットで動かせる実装ではない可能性がある
Ether, NAND, USB, S-ATA, 移植しなきゃいけないドライバはまだいっぺぇあんぞ >>13
大変乙
kernel 4.9の移植がんがってください
成功の暁にはOpenWrtだけじゃなくて
ubuntu,debianなどの道も開けるかもしれず
喜ぶ方は多いと思います WR4100Nのファーム吸出し無理だった
TH-SP0711とほぼ同じ方法使ったのだが
atermのcatはcat内部で\x0A→\x0D\x0Aの変換やっていてファイルサイズが肥大化してた
tftp転送は512Byteしか転送されない DebianやUbuntuを動かすのは現状のカーネルでもできるんじゃないでしょうか
u-bootのコンソールで起動コマンドや起動パラメータを変更して
LinuxのrootfsをSATA HDDに置いてしまえばいいのですし >>16
>u-bootのコンソールで起動コマンドや起動パラメータを変更して
できればね
u-boot-envの保存領域が無く
常にu-boot内のデフォルト設定使ってる機種が存在する >>17
ELECOM NSB-3xxでは変更保存(setenv,savenv)できますよ >>18
保存コマンドがある=領域がある
ではないぞ >>19
電源OFFして、次に起動したときも記憶されている
これでどうだ? 8 cmdlinepart partitions found on MTD device cs752x_nand_flash
Creating 8 MTD partitions on "cs752x_nand_flash":
0x000000100000-0x000000200000 : "uboot-env0"
0x000000300000-0x000000400000 : "uboot-env1"
0x000000400000-0x000000500000 : "sb0"
0x000000500000-0x000000600000 : "sb1"
0x000001200000-0x00000a800000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
0x00000a800000-0x000015200000 : "rootfs_data"
0x000000c00000-0x000001200000 : "kernel2"
0x000015200000-0x00001e800000 : "rootfs2"
uboot-env0に書き換えた内容が入っていることはnand readで読み込んで確認した
保存している領域は他の用途と被ってない 果てしなくめんどくせぇやつ...
ただね、全てのことに常に疑念を持って細かく細かく突けるアナタのような人の存在は必要です
これからもその姿勢を貫き通してください 自分では試しもせずいちゃもんだけつける奴は不要だろ WRC-300GHBK
# cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00010000 "u-boot"
mtd1: 00180000 00010000 "uImage"
mtd2: 00640000 00010000 "rootfs"
mtd3: 00010000 00010000 "mib0" ← SSIDとかファーム上の設定がここに入る
mtd4: 00010000 00010000 "ART"
u-boot envどこー? https://openwrt.org/docs/techref/bootloader/uboot.config
>Some devices seem not to have the uboot_env section and the environment appears with an offset in the section containing uboot (/dev/mtd0) here.
>In the latter case expect that the environment address (offset) is a multiple of Flash sector size.
とのことでmtd0の中に入っている場合もあるようです >>26
ubootに初期値が入ってるのは知ってる
lzma圧縮されたubootの中にあるuboot env (変更不可)
bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ath-nor0:128k(u-boot),1536k(uImage),6400k(rootfs),64k(mib0),64k(ART)
bootcmd=bootm 0x9f080010
bootdelay=2
baudrate=115200
ethaddr=0x00:0xaa:0xbb:0xcc:0xdd:0xee
ipaddr=192.168.1.1
serverip=192.168.1.10
bc=mi124_s17
以下略 >>26
つまりmtd0(普通はu-boot領域)の
一部のブロックをenv領域に使うってことですよね
例えば>25に例にすると、
0x00010000からをenvに使うとか
(u-boot本体が64KByteということはないだろうからこの機種では違うだろうけど) Corega CG-WGR1200 で脆弱性勧告が出てますね
https://jvn.jp/jp/JVN15201064/
無線LAN製品から撤退していたのを知らなかった
新製品の情報を見かけないなぁとは思っていたけど
この機種、発破の方あたりが挑んでおられるんでしたっけ? >>25,>>29
Linuxのmtd partition tableの定義でu-bootのコード領域を記述していなければ
/proc/mtdで現れません。
つまりはu-bootコード領域をLinuxから見えるようにしていない場合です。
u-bootコード領域をLinuxから更新することは一般コンシュマー向けの商品化では
フィールドに出たらほぼ有り得ないですし
(u-boot起動も2面化できる実装になっていない限り、ミスしたら文鎮)
read-only属性をつけて見えるようにしても用途がなく、だったら最初から見せない、と。
そのmtd0領域の内容を、実機上で強引にcatする、ddでファイル化してPCに吸い上げてダンプ、
などで見られれば、環境変数っぽい文字列が現れるかどうかで推測できるんじゃないでしょうか bufpy
# cat /proc/mtd
dev: size erasesize name
mtd0: 0003e000 00001000 "uboot"
mtd1: 00002000 00001000 "uboot_environ"
mtd2: 000e0000 00010000 "linux"
mtd3: 002c0000 00010000 "rootfs"
mtd4: 00010000 00010000 "user_property"
mtd5: 00010000 00010000 "ART"
mtd6: 003a0000 00010000 "firmware"
同じ機種にdd-wrt入れて
root@DD-WRT:/tmp/www# cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00010000 "RedBoot"
mtd1: 003a0000 00010000 "linux"
mtd2: 002c2000 00010000 "rootfs"
mtd3: 00010000 00010000 "ddwrt"
mtd4: 00010000 00010000 "nvram"
mtd5: 00010000 00010000 "board_config"
mtd6: 00400000 00010000 "fullflash"
mtd7: 00040000 00010000 "fullboot"
>31はこんな感じでしょ (名称が変わってるが) >25にある
mtd1: 00180000 00010000 "uImage" の中身
webg (262,144 Byte)
COMPCS (65,536 Byte)
COMPDS (65,536 Byte)
csys (1,114,112 Byte) *Linux
COMPHS (65,536 Byte)
これ、蟹チップのファームで使われてるヘッダがついてる
COMPCSは設定書き込み領域 IODATAのルーターにシリアル接続した場合の初期パスワードって何ですか? >>35
レスありがとうございます
知りたいのはWN-G300DGRです ■ このスレッドは過去ログ倉庫に格納されています