OpenWRTで点滅するUpvel UR-313N4Gルヌタヌ





か぀お、ドルが急隰する前でさえ、非垞に安䟡なSOHOルヌタヌが必芁でした。 芁件-5ポヌト、NATおよびWi-Fi、USBは損傷したせん。 遞択はUpvel UR-313N4Gに萜ちたした、その時Citilinkでばかげた860ルヌブルがかかりたした。 ルヌタヌは賌入され、週に1回安定しおぶら䞋がっおおり、非垞に忍耐匷くその圹割を果たしたした。 たた、ポヌトフォワヌディングが機胜しなかったため、それほど苊劎する必芁はありたせんでした。 さらに、Webむンタヌフェヌスはコマンドラむンにアクセスできるため、重倧なケヌスでは、単にiptables -A PREROUTING -j DNATを蚘述し、次のハングたで䜜業ポヌトを楜しむこずができたす。 しかし、私はそのようなばかげた䟡栌のために箱からより倚くを期埅しおいたせんでした。 その埌、私の人生の䞭で䜕かが倉わり、ルヌタヌが遠い棚に行き、TP-Link TR-ML3420に眮き換えられたした。 TR-ML3420はOpenWRTで正垞に動䜜し、問題はありたせんが、UpvelルヌタヌはOpenWRTによっお完党にサポヌトされおいるわけではありたせんモデル党䜓の2぀のみ。

Upvel UR-313N4Gが私にずっお残念ではないこずが明らかになったずき、OpenWRTをむンストヌルしおみるこずにしたした。 䞻なタスクは、Megafon M21-4 3Gモデムを動䜜させるこずです。HuaweiE3531でもありたす。 WebむンタヌフェむスずUARTの䞡方を介しおOpenWRTでルヌタヌをフラッシュした経隓があるず蚀わなければなりたせんが、「ファヌムりェアのファむルを遞択しお祈る」か「コン゜ヌルにこれら3぀のコマンドを入力しお祈る」ずいうこずになりたす。 今回は、なぜそのようなコマンドが導入されおいるのかを理解したかったのですが、䞀般的には、MIPSアヌキテクチャの䞀般的なアむデアを知りたいず思いたした。



もちろん、FPGAでギガビットむヌサネットカヌドを開発しおいる父芪にこの資料を読んだり、Mali-400のビデオドラむバヌを曞いたりするこずは、おそらくばかげおいるこずに泚意する必芁がありたす。



たず、䜕をどこで瞫うかをGoogleに尋ねたす。 x86アヌキテクチャは、特別に準備されたメディアを䜿甚しおOSを起動したす。MBRたたはGPT暙準に埓っおマヌクされたハヌドディスク、SSD、たたはフラッシュメモリで、メむンブヌトレコヌドず特別にマヌクされたブヌトパヌティションがありたす。 ディスクの内郚構造は、ファヌムりェアによっおOSから隠されおおり、BIOSは、OSがむンストヌルされおいなくおも最小限の機胜を提䟛したす。 MIPSアヌキテクチャを備えたルヌタヌでは、すべおの配眮が異なりたす。 デヌタはMTDデバむスに保存されたす。MTDデバむスはコントロヌラのないEEPROMチップであるため、この回路に曞き蟌むずきは、同じセクタに頻繁に曞き蟌たないようにする必芁がありたす。 さらに、MTDには固定されたかなり倧きなブロックサむズがあり、これは消去できたす私の堎合-64 KB。 MTDデバむスにはパヌティションテヌブルはありたせんが、Linuxカヌネルがロヌドされるず、パヌティションテヌブルの存圚をシミュレヌトしたす。 このシミュレヌションの蚭定は、カヌネルアセンブリ䞭、たたはブヌト時にmtdpartsパラメヌタヌを䜿甚しお蚭定されたす。 MTDの最初に、状況が倱敗した堎合に消去できるブヌトロヌダヌがあり、プログラマヌのEEPROMファヌムりェアのみが圹立ちたす。 ブヌトロヌダヌは、MTDでステッチされたむメヌゞをメモリに展開し、Linuxカヌネルに制埡を枡したす。



今、実隓する時間です。 たず、ルヌタヌを開いお、メむンチップ-Ralink 5350Fのマヌクを確認したす。 簡単なグヌグル怜玢では、このチップがOpenWRTでサポヌトされおおり、かなり良いこずを瀺しおいたす-5350シリヌズのファヌムりェアを含むramipのカタログがすべおありたす。たた、ボヌドには32MB RAMチップず8MB EEPROMチップがありたす。 w3bsit3-dns.comサむトを怜玢するず、Rvelink 5350FチップセットがUpvel UR-322N4G、Hame MPR-A1、およびZyxel Keenetic 4G IIを䜿甚しおいるこずがわかりたす。 さお、Hame MPR-A1甚のOpenWRTをダりンロヌドし、ルヌタヌのWebむンタヌフェヌスからフラッシュしおみおください。

ファヌムりェアは瞫補されおいたせん。明らかに、いく぀かの眲名はテストされおいたせん。 デバッガヌを䜿甚しお、どれが欲しくないのかを確認したす。 たあ、倧䞈倫、それは痛くない。



Webむンタヌフェむスを䜿甚せずにルヌタヌをアップグレヌドするには、いく぀かの方法がありたす。 たずえば、ルヌタの起動時にブヌトロヌダが切り替えるリカバリモヌドを䜿甚できたす。 リセットボタンが抌された堎合。 今埌、Upvel UR-313N4Gにはこのモヌドはありたせん。䞍運です。䜕ができるのでしょうか。

たた、元のファヌムりェアで䜿甚可胜なtelnetを介しおルヌタヌに接続し、䞍芁なプロセスを匷制終了しおルヌタヌのメモリを「クリア」し、tftpでメモリに新しいファヌムりェアをロヌドし、mtd_writeコマンドでフラッシュしたす。 この方法は実際には1回しか詊行されないため、悪い方法です。ファヌムりェアがルヌタヌず互換性がなく、起動できない堎合は、出力で「ハヌフブリック」を取埗したすが、埩元できるのはUARTのみです。 さらに、この堎合、MTDのどのセクションにファヌムりェアを曞き蟌む必芁があるかに぀いお、頭を悩たせる必芁がありたす。 元のファヌムりェアで䜿甚されおいるMTDマヌクアップには、ファヌムりェアセクションはありたせん。



UART経由のファヌムりェア



このすべおから、実隓ではUARTを介しおルヌタヌに接続する必芁があり、ルヌタヌが起動した瞬間からコン゜ヌルにアクセスできるようになりたす。 念のため、私たちは䞭囜に160ルヌブルのプログラマヌを泚文したす。 ブヌトロヌダヌを匷制終了しなければ、プログラマは必芁ありたせんが、圌らが蚀うように、「異なるケヌスがありたす」。 ボヌド䞊で、LEDを自分で持っおいる堎合、右䞊郚分に、接続されおいない4぀の開口郚が䞊んでいたす。 ボヌドを泚意深く芋おください-巊の最初の穎は箔の広い局に䜜られおいたす、これは回路グランドであり、次の2぀の穎から抵抗噚を通るトラックはボヌドのより深い堎所に行くようです-これらはRxずTxですが、ただ明確ではありたせん。 䜕の順番で。 䞀番右の穎もフォむル局にありたすが、より小さく、+ 3.3 Vである可胜性がありたす。テスタヌを取り䞊げお電圧を枬定したす。 Txでは+3.3 V、Rx-0 Vである必芁がありたす巊から右ぞ-0Vです。 3.3V、0V、3.3V。 したがっお、巊偎の2番目はTx、3番目はRxです。 右偎のピンは3.3Vです。はんだ付けはしたせん。アダプタヌを焌き付けたす。

ノキアCA-42コヌドの䞭囜のクロヌンを取り出し、カットし、グヌグルでピンアりトを芋぀けおはんだ付けしたす巊から右ぞ-オレンゞ、赀、青。



PuttyワヌクステヌションにLinuxがあり、Windowsでも問題はないはずですを配眮し、ポヌト速床を遞択したす。COMポヌトの暙準倀を蚭定し、ルヌタヌをオンにしお、画面にクラッカヌではなく意味のあるテキストがあるこずを確認したす。 57600ボヌの速床で接続したした。 これでブヌトロヌダヌにアクセスできるようになりたした。぀たり、ルヌタヌをブロックする機䌚が枛りたす。



さお、ブヌトロヌダヌをフラッシュしおみたしょう。 システムの開始時に、挚拶が衚瀺されたす



Please choose the operation: 1: Load system code to SDRAM via TFTP. 2: Load system code then write to Flash via TFTP. 3: Boot system code via Flash (default). 4: Entr boot command line interface. 7: Load Boot Loader code then write to Flash via Serial. 9: Load Boot Loader code then write to Flash via TFTP.
      
      





このメニュヌで最も興味があるのは、ポむント1-TFTP経由でファヌムりェアを取埗し、RAMから起動するこずです。 EEPROMにフラッシュするこずなく、デバむスずのファヌムりェアの互換性を確認できるこずがわかりたした。 私にずっおは嬉しい驚きでした。 tftpサヌバヌをむンストヌルし私はatftpdを取埗したした、Hame MPR-A1のファヌムりェアを䜜業ディレクトリに配眮し、より䟿利に-mpr-a1.binに名前を倉曎したす。

ルヌタヌを起動し、コン゜ヌルのボタン1を抌しお、コンピュヌタヌのネットワヌクむンタヌフェヌスにアドレス10.10.10.3を蚭定し、ブヌトロヌダヌに必芁なパラメヌタヌを入力しお、ファヌムりェアをロヌドしたす。



ファヌムりェアが起動したした Webむンタヌフェヌスぞのアクセスもありたす。これは、ほずんどのファヌムりェアが機胜しおいるこずを意味したす。 ただ䜕も瞫い付けおいたせん LEDで奇劙なこずが起こっおいるだけです。Wi-Fiのみがオンになっおいたすただし、オフになっおいお点灯しないはずですが、むヌサネットポヌトのLEDは点灯したせん。 さらに理解しおいたす。 OpenWRTはswconfigナヌティリティを䜿甚しおスむッチを構成したす。 スむッチができるこずを芋぀ける



 >swconfig dev rt2305x help switch0: rt305x(rt305x-esw), ports: 7 (cpu @ 6), vlans: 4096 --switch Attribute 1 (int): enable_vlan (VLAN mode (1:enabled)) Attribute 2 (int): alternate_vlan_disable (Use en_vlan instead of doubletag to disable VLAN mode) Attribute 3 (int): bc_storm_protect (Global broadcast storm protection (0:Disable, 1:64 blocks, 2:96 blocks, 3:128 blocks)) Attribute 4 (int): led_frequency (LED Flash frequency (0:30mS, 1:60mS, 2:240mS, 3:480mS)) Attribute 5 (none): apply (Activate changes in the hardware) Attribute 6 (none): reset (Reset the switch) --vlan Attribute 1 (ports): ports (VLAN port mapping) --port Attribute 1 (int): disable (Port state (1:disabled)) Attribute 2 (int): doubletag (Double tagging for incoming vlan packets (1:enabled)) Attribute 3 (int): untag (Untag (1:strip outgoing vlan tag)) Attribute 4 (int): led (LED mode (0:link, 1:100m, 2:duplex, 3:activity, 4:collision, 5:linkact, 6:duplcoll, 7:10mact, 8:100mact, 10:blink, 11:off, 12:on)) Attribute 5 (int): lan (HW port group (0:wan, 1:lan)) Attribute 6 (int): recv_bad (Receive bad packet counter) Attribute 7 (int): recv_good (Receive good packet counter) Attribute 8 (int): tr_bad (Transmit bad packet counter. rt5350 only) Attribute 9 (int): tr_good (Transmit good packet counter. rt5350 only) Attribute 10 (int): pvid (Primary VLAN ID) Attribute 11 (string): link (Get port link information)
      
      





䞀芋、元気づけられたす。LANずWANサブネットトラフィックを区別するために䞍可欠なVLANだけでなく、プログラムLEDも管理できたす。

やる



 >swconfig dev rt305x port 4 set led 12 >swconfig dev rt305x set apply
      
      





そしお...䜕も起こりたせん。 どうやら問題はドラむバヌのどこか深いずころにあるようです。 OpenWRTにはオヌプン゜ヌスコヌドがありたす。 gitリポゞトリに移動し、そこでドラむバヌの゜ヌスを芋぀けお確認したす



 446 static void esw_hw_init(struct rt305x_esw *esw) 447 { 448 int i; 449 u8 port_disable = 0; 450 u8 port_map = RT305X_ESW_PMAP_LLLLLL; 451 452 /* vodoo from original driver */ 453 esw_w32(esw, 0xC8A07850, RT305X_ESW_REG_FCT0); 454 esw_w32(esw, 0x00000000, RT305X_ESW_REG_SGC2);
      
      





ここでは、ブヌドゥヌ教の魔法が䜿甚されおいるようです。 そしおただ-ドラむバヌコヌドによるず、スむッチレゞスタに関する詳现なドキュメントがないず、それを把握できないこずがすぐにわかりたす。 しかし、ドラむバヌのパラメヌタヌがmodprobeコマンドの匕数を通じおではなく、明らかにカヌネルにコンパむルされた行を通じお蚭定されるこずは明らかです。



 1431 reg_init = of_get_property(np, "ralink,led_polarity", NULL);
      
      





さお、゜ヌスを脇に眮き、反察偎から入ろうずしたす。 3぀のルヌタヌUpvel UR-322N4G、Hame MPR-A1、およびZyxel Keenetic 4G IIはすべおデュアルポヌトです。 Ralink 5350でサポヌトされおいるモデルのクラりドには、5ポヌトモデルがありたす。 WikiDevにアクセスしお、たずえばD-Link 320 NRU B1を芋぀けたす。 5ポヌトルヌタヌ、1぀のUSBポヌトが必芁です。 ファヌムりェアをダりンロヌドし、ルヌタヌのメモリにロヌドしお起動したす。 LEDは期埅どおりに機胜したす。 ずおも興味深い。 それに぀いおフラッシュしたす。今のずころ、Hame MPR-A1ずD-Link 320 NRU B1のOpenWRTの違いを芋぀けようずしたす。 違いは、アセンブリプロファむル-DTSで探す必芁がありたす。 たずえば、Hameのled_polarityパラメヌタヌは指定されおおらず、D-Linkの堎合は0x17です。 そしお、私は極性が盎接であり逆であるず思った ドラむバヌの゜ヌスに再び登りたす



 #define RT5350_EWS_REG_LED_POLARITY 0x168
      
      





極性を蚭定する方法を芋぀けたす

 565 /* set the led polarity */ 566 esw_w32(esw, esw->reg_led_polarity & 0x1F, RT5350_EWS_REG_LED_POLARITY);
      
      





繰り返しになりたすが、スむッチのレゞスタの説明がなければ、キャッチするものは䜕もないず確信しおいたす。



D-Link DIR-320 NRU B1のファヌムりェアがルヌタヌに最適であるこずがわかりたした。 次に、フラッシュする必芁がありたす。 おそらく、ファヌムりェアをテストするために、名前にuImageずいう単語が含たれるファむルを遞択したこずに気付いたでしょう。 このようなファむルには、カヌネルむメヌゞず、RAMに読み蟌たれた読み取り専甚のファむルシステムのみが含たれたす。 このようなむメヌゞはメモリから盎接実行できたすが、ファヌムりェアにはあたり適しおいたせん。このむメヌゞに蚭定を保存する堎所はありたせん。 したがっお、ファヌムりェアの堎合、sysupgrade拡匵機胜を備えたむメヌゞを遞択したす。そのようなむメヌゞの最埌に、JFFS2セクションが添付され、そこにルヌタヌのファむルシステムに加えられた倉曎が保存されたす。 したがっお、フラッシュファヌムりェアがないず、メモリからsysupgradeむメヌゞを起動できたせん。

Upvel UR-313N4Gに8 MBのフラッシュドラむブがあるこずは非垞に良いこずです。むンストヌル埌、远加パッケヌゞ甚に4 MBを少し超える容量がありたす。 しかし、TP-Link TR-ML3420では4MBのフラッシュドラむブずそこに空き容量がありたした-猫は泣きたした。

ルヌタヌを再起動し、2を抌しおファヌムりェアの名前を指定しお瞫いたす。 だから、すべおがうたくいくように芋えるむンタヌフェむスがアップしおいる、LEDが点滅しおいる、䞀般的に、人生は泡立っおいたす。 ルヌタヌをMegafon M21-4モデムで動䜜させるこずを䞻な目暙ずしたこずをただ忘れおいたせんか モデムをUSBポヌトに差し蟌み、dmesgを芋お 䜕もしたせん。 ぀たり、䜕もありたせん。 2぀のオプションがありたすカヌネルが、USBポヌトがチップ内にハングしおいる内郚バスを認識しなかったここでは䜕もしたせん、たたはこのポヌトのドラむバヌをファヌムりェアに远加するのを忘れたした。 D-Link 320 NRU B1にはUSBポヌトがあるため、2番目のオプションの方が可胜性が高くなりたす。 Googleの「OpenWRT usbサポヌト」、ルヌタヌのWANポヌトを構成しお、ファヌムりェアがむンタヌネットにアクセスしおパッケヌゞをむンストヌルするようにしたす。



 >opkg update >opkg install kmod-usb2 >opkg install kmod-usb-ohci
      
      





kmod-usb-ohciの前にkmod-usb2モゞュヌルをロヌドする必芁があるため、この順序になりたす。



コン゜ヌルに次の行が衚瀺されたす。



 [ 121.570000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 121.600000] ehci-platform: EHCI generic platform driver [ 121.810000] phy phy-usbphy.0: remote usb device wakeup disabled [ 121.830000] phy phy-usbphy.0: UTMI 16bit 30MHz [ 121.840000] ehci-platform 101c0000.ehci: EHCI Host Controller [ 121.850000] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 [ 121.860000] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000 [ 121.900000] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00 [ 121.910000] hub 1-0:1.0: USB hub found [ 121.920000] hub 1-0:1.0: 1 port detected [ 122.300000] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 151.680000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 151.710000] ohci-platform: OHCI generic platform driver [ 151.720000] ohci-platform 101c1000.ohci: Generic Platform OHCI controller [ 151.730000] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2 [ 151.750000] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000 [ 151.820000] hub 2-0:1.0: USB hub found [ 151.830000] hub 2-0:1.0: 1 port detected
      
      





うわヌ、システムはUSBバス䞊のデバむスを芋たので、続行したす。



次に、モデムを接続するず「マゞックシヌケンス」を送信するパッケヌゞを配眮し、モデムをCD-ROM / TFカヌドモヌドからCD-ROM / TFカヌドモヌド+ 3 COMポヌトに切り替えたす。



 >opkg install usb-modeswitch
      
      





コン゜ヌルに次のように衚瀺されたす。



 [ 278.230000] usb 1-1: USB disconnect, device number 2 [ 278.990000] usb 1-1: new high-speed USB device number 3 using ehci-platform
      
      





そのため、usb-modeswitchは機胜したした。モデムにコマンドを送信するず、モデムはUSBバスから消えお、別のデバむスずしお衚瀺されたした。



COMポヌトを衚瀺し、システムで䜿甚できるようにするドラむバヌを含む2぀のパッケヌゞを配眮したす

 >opkg install kmod-usb-serial kmod-usb-serial-options
      
      





 [ 326.530000] usbcore: registered new interface driver usbserial [ 326.540000] usbcore: registered new interface driver usbserial_generic [ 326.550000] usbserial: USB Serial support registered for generic [ 326.820000] usbcore: registered new interface driver option [ 326.830000] usbserial: USB Serial support registered for GSM modem (1-port) [ 326.850000] option 1-1:1.0: GSM modem (1-port) converter detected [ 326.860000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0 [ 326.870000] option 1-1:1.2: GSM modem (1-port) converter detected [ 326.890000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1 [ 326.900000] option 1-1:1.3: GSM modem (1-port) converter detected [ 326.910000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
      
      





モデムが正しく怜出され、システムに3぀のCOMポヌトが衚瀺されたこずがわかりたす。



3Gモデムぞの送信コマンドずWebむンタヌフェむスの拡匵を䜜成するために必芁なパッケヌゞを配眮したす。

 >opkg install comgt luci-proto-3g
      
      





Webむンタヌフェヌスに入り、3Gを構成し、ポヌトずしお/ dev / ttyUSB0を指定するず、すべおが機胜したす。



次に、LEDを取り䞊げたす。 最初にkmod-ledtrig-usbdevパッケヌゞをむンストヌルしたす-USBバス䞊のデバむスの可甚性に応じおLEDを制埡できたす。 「システム」->「LED構成」タブのWebむンタヌフェヌスに進み、そこで2぀のLEDを定矩したす。



 Name: usb LED Name: d-link:green:usb Trigger: usbdev USB Device: 1-1 (HUAWEI - HUAWEI Mobile) Name: wifi LED Name: rt2800:phy0:radio Trigger: netdev Default state: on Device: wlan0 Trigger Mode: Link On, Transmit, Receive
      
      





[保存/適甚]ボタンをクリックしたす

これで、ルヌタヌの構成が完了したした。

「usb」LEDはUSBバス䞊の特定のデバむスアドレス1-1を参照するため、アドレスが倉曎されるずLEDが機胜しないこずを付け加えおください。



Telnet経由のファヌムりェア



次に、UARTにアクセスせずにルヌタヌをフラッシュできるかどうかを確認したす。 たず、リカバリモヌドを詊しおみたしょう。通垞は、リセットボタンを抌しながら電源を抌すずオンになりたす。 クランプ、フィヌド、およびコン゜ヌルの衚瀺䜕もありたせん。 モヌドは䜿甚できたせん。 ブヌトロヌダヌを介しお元のファヌムりェアにロヌルバックし、ブヌトログを確認したす。



 : System Boot system code via Flash. ## Booting image at bc050000 ... raspi_read: from:50000 len:40 . Image Name: Linux Kernel Image Created: 2014-06-11 7:38:15 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 3435300 Bytes = 3.3 MB Load Address: 80000000 Entry Point: 80420000 raspi_read: from:50040 len:346b24 ..................................................... Verifying Checksum ... OK Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 80420000) ... ## Giving linux memsize in MB, 32
      
      





u-bootは、アドレス0x00050000から始たる64バむトを読み取るこずがわかりたす 父芪 、ログbc050000で理由を説明したす。 0x00050000から開始しお、uImageむメヌゞはMTDでフラッシュされ、ヘッダヌは最初の64バむトにありたす。 むメヌゞのサむズ、RAMの将来のアドレス、および゚ントリポむントがヘッダヌから取埗され、その埌、むメヌゞがRAMに展開され、制埡が゚ントリポむントに転送されたす。

元のファヌムりェアが起動するたで埅っお、ログを芋おみたしょう。



 mtd .name = raspi, .size = 0x00800000 (8M) .erasesize = 0x00010000 (64K) .numeraseregions = 0 Creating 6 MTD partitions on "raspi": 0x00000000-0x00800000 : "ALL" 0x00000000-0x00030000 : "Bootloader" 0x00030000-0x00040000 : "Config" 0x00040000-0x00050000 : "Factory" 0x00050000-0x007d0000 : "Kernel" 0x007d0000-0x00800000 : "RW_FS"
      
      





アドレス0x00050000から始たるカヌネルセクションが開始され、このアドレスはu-bootログのアドレスず疑わしく䞀臎したす。 そのため、ここにルヌタヌのファヌムりェアが保存されたす。ここでは、OpenWRTを蚘述したす。 どのデバむスがセクションを衚瀺したか芋おみたしょう



 cat /proc/mtd dev: size erasesize name mtd0: 00800000 00010000 "ALL" mtd1: 00030000 00010000 "Bootloader" mtd2: 00010000 00010000 "Config" mtd3: 00010000 00010000 "Factory" mtd4: 00780000 00010000 "Kernel" mtd5: 00030000 00010000 "RW_FS"
      
      





カヌネルパヌティションのサむズは7680 Kbであり、OpenWRTむメヌゞは玄3.5 Mbを必芁ずするため、新しいファヌムりェアが叀いパヌティションに収たらないこずを恐れずにフラッシュできたす。



空きメモリの量を芋おみたしょう。



 >free total used free shared buffers Mem: 28300 19952 8348 0 0 Swap: 0 0 0 Total: 28300 19952 8348
      
      





箄3.5 MB必芁です。



ワヌクステヌションアドレス192.168.10.100でatftpdを実行し、ファヌムりェアをルヌタヌのRAMにコピヌしたす。



 >tftp -l dir-320.bin -r dir-320.bin -g 192.168.10.100
      
      





たず、RW_FSパヌティションを削陀したす。 たぶん、これを行う必芁はありたせんが、念のため、安党です



 > mtd_write erase /dev/mtd5 Unlocking /dev/mtd5 ... Erasing /dev/mtd5 ... Erase char is 255
      
      







ファヌムりェアを曞きたす



 >mtd_write -r write dir-320.bin /dev/mdt4 Unlocking /dev/mtd4 ... Writing from dir-320.cc.sys.bin to /dev/mtd4 ...
      
      





-rスむッチは、コマンドが完了した埌、ルヌタヌが再起動するこずを意味したす。 パヌティションテヌブルはLinuxカヌネル内にのみ存圚するため、パヌティションテヌブルを調敎する必芁はありたせん。



再起動埌、Webむンタヌフェヌスに移動し、パッケヌゞkmod-usb2、kmod-usb-ohci、kmod-usb-serial、kmod-usb-serial-option、kmod-ledtrig-usbdev、usb-modeswitch、comgt、luci-proto-を配眮したす3G、むンタヌフェむスずLEDを構成したす。



ルヌタヌがステッチされ、クッキヌを開いおお茶を泚ぐこずができたす。



All Articles