Linuxのdd-wrtファームウェアを使用して、D-LinkからWiFiルーターを再フラッシュします。

貧弱な管理ルーターがD-Linkルーター、モデルDIR-400でハングし始めました。

そして、管理者は問題を解決する方法を探し始めました。

dd-wrt.comからファームウェアを30分間グーグルで見つけました。

その機能を見て、喜んで、マニュアルを探し始めました-このファームウェアをすべて同じようにアップロードするにはどうすればよいですか(D-Linkの開発者が書いた標準的なフラッシャーについてはよくありません)



DBGコンソール経由でファームウェアをアップロードするためのマニュアルを見つけました。 しかし、問題は-Windowsユーザー向けのマニュアルが設計されていますが、手元にWindowsはなく、Linuxだけが正しいことです...

まあまあ。 管理者は理解しました。 詳細-カットの下。



DBGコンソール





D-Link製品にはこのような興味深い機能があります-鉄片が電源に接続されると、2秒間(デフォルト値)ブートローダーがポート9000でtelnetサーバーを起動します。

2秒でログインしてハードウェア「^ C」を送信すると、ダウンロードプロセスが停止し、エンジニアリングコンソールにアクセスできるようになります。そこで、たとえば、非公式の盗まれたLinuxベースのファームウェアを入力できます。 始めましょう。



準備する





ちょっとした理論:



すぐに予約します。10〜20秒の休止時間でルーターの電源を約20回引きましたが、まだ鉄片を押してエンジニアリングコンソールを提供することができました。 原則として、それは安全です-ルータが完全にロードされるまで待つだけで、電源を再び引き出すことができます。

別の警告-telnetのLinuxバージョンは、接続時にCtrl-Cを押すことで '^ C'の送信を完全に拒否します。moskをオンにする必要がありました。1文字ではなく、2文字を送信します。

そしてまだ-エンジニアリングコンソールで封印することを恐れないでください、すべてのコマンドが検証され、コンソールはあなたに封印させません。



練習しましょう:



まず、tftpサーバーが必要です。

私たちは誰がどのように知っているかを入れました(私はyumを使用しました):



yum -y intall tftp-server







デフォルトでは、tftpはxinetdからジャークするので、/ etc / xinetd.d / tftpを少し編集する必要があります。disable= noパラメーターを設定し、サーバーのルートディレクトリを好みに合わせて編集します(デフォルトでは-tftpboot /、変更しませんでした)。



xinetdを再起動することを忘れないでください。



次に、ここに移動します: dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html

そこから-ファイルマネージャーのようなもので、/ stable / dd-wrt.v24 SP1 / Consumer / Dlink / DIR-400ディレクトリに移動し、linux.binおよびdir400-firmware.binファイルを/ tftpboot /ディレクトリ(または何でも)にダウンロードしますconfigで変更しました)。



実験用ルーターからすべてのイーサネットケーブルを引き出し、すべてのWiFiクライアントを切断し、鉄片のLANポートの1つに固定します。

静的IP 192.168.0.2をマシンに割り当て、192.168.0.1をルーターに割り当てます。



楽しもう





さらなるアクションにはフォーカスが必要です。

コンソールに入力します



telnet 192.168.0.1 9000



(まだEnterキーを押さず、単に時間を節約するために入力します-約2秒覚えていますか?)



ルーターから電源を引き出し、数秒待ってから電源を入れ、3つに数え、Enterを押します...

次にtelnetセッションのトランスクリプトが来ます。太字はコンソールに入力したもの、斜体はコメントです。



[root@localhost ~]# telnet 192.168.0.1 9000

Trying 192.168.0.1... ( Ctrl V C, )

^C

Connected to 192.168.0.1.

Escape character is '^]'.

^C ( Ctrl-VC)

RedBoot> RedBoot> ^C

^C ( )

RedBoot> ( Ctrl-C, ...)

RedBoot>

RedBoot> ip_address -l 192.168.0.1/24 -h 192.168.0.2 ( IP , tftp- 0.2)

IP: 192.168.0.1/255.255.255.0, Gateway: 0.0.0.0

Default server: 192.168.0.2

RedBoot> fis init ( )

About to initialize [format] FLASH image system - continue (y/n)? y ( y - , )

*** Initialize FLASH Image System

And a descriptor for the configuration data size = 10000

... Erase from 0xbffe0000-0xbfff0000: .

... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

RedBoot> load -r -b 0x80041000 linux.bin ( - , tftp )

Using default protocol (TFTP)

Raw file loaded 0x80041000-0x803bafff, assumed entry at 0x80041000

RedBoot> fis create linux ( :) )

... Erase from 0xbfc40000-0xbffba000: ........................................................

... Program from 0x80041000-0x803bb000 at 0xbfc40000: ........................................................

prog_ok

flash_addr = 0xbfc40000

mem_addr = 0x80041000

entry_addr = 0x80041000

length = 0x37a000

img_size = 0x37a000

... Erase from 0xbffe0000-0xbfff0000: .

... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

RedBoot> fconfig ( , . .)

Run script at boot: true (Enter)

Boot script:

.. fis load -l vmlinux.bin.l7

.. go

Enter script, terminate with empty line

>> fis load -l linux

>> exec

>> (Enter)

Boot script timeout (1000ms resolution): 2 ( - telnet ^C :) , )

Use BOOTP for network configuration: false (Enter)

Gateway IP address: ( Enter , , - )

Local IP address: 192.168.0.1 (Enter)

Local IP address mask: 255.255.255.0 (Enter)

Default server IP address: 192.168.0.100 (Enter)

Console baud rate: 9600 (Enter)

GDB connection port: 9000 (Enter)

Force console for special debug messages: false (Enter)

Network debug at boot time: false (Enter)

Update RedBoot non-volatile configuration - continue (y/n)? y

... Erase from 0xbffe0000-0xbfff0000: .

... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

RedBoot> reset ( )






すべて、再起動後、ルーターは完全なLinux内部でhttpおよびtelnetを介してIP 192.168.1.1で利用可能になります(それからSSHを有効にできます)。

ちょっとしたニュアンス:最初にhttp経由でルーターに行き、ユーザー名とパスワードを設定する必要があります-それからだけtelnet経由でルーターにアクセスできます。




All Articles