{"id":1440,"date":"2019-01-06T22:15:19","date_gmt":"2019-01-06T21:15:19","guid":{"rendered":"http:\/\/www.f4ctz.fr\/?page_id=1440"},"modified":"2019-01-18T23:07:45","modified_gmt":"2019-01-18T22:07:45","slug":"linksys-wrt350n-v2","status":"publish","type":"page","link":"https:\/\/www.f4ctz.fr\/?page_id=1440","title":{"rendered":"Linksys WRT350N v2"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1446 aligncenter\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/Linksys_WRT350N-300x225.jpg\" alt=\"Photo Linksys WRT350N\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/Linksys_WRT350N-300x225.jpg 300w, https:\/\/www.f4ctz.fr\/wp-content\/uploads\/Linksys_WRT350N.jpg 745w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p style=\"text-align: justify;\">On peut trouver les caract\u00e9ristiques de ce routeur ici : <a href=\"https:\/\/wikidevi.com\/wiki\/Linksys_WRT350N_v2\">https:\/\/wikidevi.com\/wiki\/Linksys_WRT350N_v2<\/a>. C&rsquo;est un routeur WiFi ant\u00e9rieur \u00e0 2010 mais qui pr\u00e9sente l&rsquo;int\u00e9r\u00eat d&rsquo;avoir un port USB ce qui peut \u00eatre int\u00e9ressant notamment pour y mettre un t\u00e9l\u00e9phone en partage de connexion et le transformer en modem 4G.<\/p>\n<p style=\"text-align: justify;\">Le firmware d&rsquo;origine ne laisser pas beaucoup de possibilit\u00e9 d&rsquo;usage \u00e0 un vieux routeur comme celui-ci mais avec une distribution <a href=\"https:\/\/openwrt.org\/\">OpenWRT<\/a> les applications pour redonner vie \u00e0 cet \u00e9quipement sont multiples : NAS, tethering 4G, firewall customisable, etc. Toutes les infos pour installer cette distribution sur ce routeur sont disponibles sur <a href=\"https:\/\/oldwiki.archive.openwrt.org\/toh\/linksys\/wrt350nv2\">la page du WRT350N V2 d&rsquo;OpenWRT<\/a>.<\/p>\n<p style=\"text-align: justify;\">Le firmware OpenWRT officiellement compatible est disponible <a href=\"http:\/\/archive.openwrt.org\/attitude_adjustment\/12.09\/orion\/generic\/\">ici<\/a> : Attitude Adjustment 12.09. Je m&rsquo;en suis servi pendant des ann\u00e9es avec satisfaction. Comme ce mat\u00e9riel commence \u00e0 \u00eatre ancien, vous trouverez une copie sur cette page de tous les fichiers disponibles sur OpenWRT correspondant \u00e0 cette release.<\/p>\n<p style=\"text-align: justify;\">Un projet plus r\u00e9cent existe visant \u00e0 poursuivre le support du WRT350NV2 avec OpenWRT et LEDE. On peut le trouver <a href=\"https:\/\/github.com\/paxman\/LEDE-OpenWRT-firmware-for-WRT350n-v2\">ici<\/a>.<\/p>\n<p style=\"text-align: justify;\">La derni\u00e8re version du firmware officiel Linksys est disponible <a href=\"https:\/\/osdn.net\/projects\/sfnet_officiallinksysfirmware\/downloads\/wrt350n\/v2\/WRT350N-EU_V2.00.20,0.tgz\/\">ici<\/a>. Une copie est aussi disponible sur cette page.<\/p>\n<h2 style=\"text-align: justify;\">Bricking \ud83d\ude41<\/h2>\n<p style=\"text-align: justify;\"><span class=\"\" title=\"\">Lorsque vous jouez avec un firmware, des erreurs sont possibles et vous pouvez bricker votre routeur.<\/span> <span title=\"\">FAITES-LE A VOS RISQUES ET P\u00c9RILS !<\/span><\/p>\n<p style=\"text-align: justify;\"><span title=\"\">Si votre routeur n&rsquo;est plus capable de basculer en mode de secours TFTP et qu&rsquo;il ne s&rsquo;allume plus, vous l&rsquo;avez probablement brick\u00e9 comme moi en jouant dans la m\u00e9moire flash o\u00f9 vous n&rsquo;\u00eatiez pas sens\u00e9 jouer.<\/span> <span title=\"\">La partie la plus sensible de la m\u00e9moire est le bootloader (U-Boot) et certaines cha\u00eenes de caract\u00e8res (ErCoMm, page OpenWRT WRT350NV2).<\/span><\/p>\n<p style=\"text-align: justify;\"><span title=\"\">Dans le cas du Linksys WRT350N V2, gr\u00e2ce au travail de DirkNL, Maddes.b, StrickerNL et Relghuar sur le forum de OpenWRT, il est possible de le faire revivre en utilisant une interface de bas niveau nomm\u00e9e JTAG <\/span><span title=\"\">: <a href=\"https:\/\/forum.archive.openwrt.org\/viewtopic.php?id=12358&amp;p=42\">https:\/\/forum.archive.openwrt.org\/viewtopic.php?id=12358&amp;p=42<\/a>\u00a0(post #1031).<\/span> <span title=\"\">Comme ce fil est ancien, certains liens et pages sont morts, j&rsquo;ai donc pass\u00e9 beaucoup de temps \u00e0 collecter des informations (un grand merci \u00e0 DirkNL pour ses archives) afin de faire revivre mon WRT350NV2.<\/span> <span title=\"\">C&rsquo;est pour cela que je vais essayer de refaire un HOWTO complet ici.<\/span><\/p>\n<h2 style=\"text-align: justify;\">Debricking \ud83d\ude42<\/h2>\n<p style=\"text-align: justify;\"><span class=\"\" title=\"\">Il n&rsquo;est pas possible de debricker ce routeur en programmant directement une image dans la m\u00e9moire flash \u00e0 l&rsquo;aide d&rsquo;un JTAG.<\/span> <span class=\"\" title=\"\">Plusieurs personnes sur Internet ont essay\u00e9 ces derni\u00e8res ann\u00e9es sans succ\u00e8s.<\/span> <span class=\"\" title=\"\">En r\u00e9alit\u00e9, le seul moyen efficace est de mettre une image dans la RAM qui permettra \u00e0 un serveur NFS d\u2019obtenir un rootfs, puis d\u2019utiliser le terminal qu&rsquo;on obtiendra pour programmer la m\u00e9moire flash du routeur.<\/span><\/p>\n<p style=\"text-align: justify;\"><span class=\"\" title=\"\">Pour d\u00e9bricker et suivre ce HOWTO, vous devez avoir une interface JTAG compatible avec OpenOCD. <span title=\"\">Personnellement, j&rsquo;ai utilis\u00e9 un BlackHawk USB100v2 \u00e9galement appel\u00e9e XDS100V2 de TI.<\/span><\/span><\/p>\n<p style=\"text-align: justify;\"><span title=\"\">Vous avez \u00e9galement besoin d&rsquo;un convertisseur USB vers s\u00e9rie-TTL 3V3.<\/span> <span title=\"\">Connectez-le \u00e0 J5 sur la carte m\u00e8re WRT350nV2.<\/span> <span title=\"\">Le brochage est le suivant :<\/span><\/p>\n<ol style=\"text-align: justify;\">\n<li style=\"text-align: justify;\">VCC<\/li>\n<li style=\"text-align: justify;\">RX<\/li>\n<li style=\"text-align: justify;\">TX<\/li>\n<li style=\"text-align: justify;\">GND<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Voici le HOWTO pas \u00e0 pas pour d\u00e9bricker ce routeur en utilisant l&rsquo;interface JTAG :<\/p>\n<ol>\n<li style=\"text-align: justify;\">Ouvrez le WRT350N V2 en panne et soudez sur J4 un connecteur CMS de 2,54 mm \u00e0 20 broches. Voici le pinout pour connecter plus loin le programmateur JTAG :<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1505\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/jtag_wrt350n_v2.jpg\" alt=\"\" width=\"210\" height=\"310\" srcset=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/jtag_wrt350n_v2.jpg 210w, https:\/\/www.f4ctz.fr\/wp-content\/uploads\/jtag_wrt350n_v2-203x300.jpg 203w\" sizes=\"auto, (max-width: 210px) 100vw, 210px\" \/><\/li>\n<li style=\"text-align: justify;\">T\u00e9l\u00e9chargez et d\u00e9compressez OpenOCD 0.10.0 : <a href=\"http:\/\/www.freddiechopin.info\/en\/download\/category\/4-openocd\">http:\/\/www.freddiechopin.info\/en\/download\/category\/4-openocd<\/a><\/li>\n<li style=\"text-align: justify;\">T\u00e9l\u00e9chargez MobaXterm Home Edition et installez-le : <a href=\"https:\/\/mobaxterm.mobatek.net\/download.html\">https:\/\/mobaxterm.mobatek.net\/download.html<\/a><\/li>\n<li style=\"text-align: justify;\">Installez la derni\u00e8re version de VirtualBox et t\u00e9l\u00e9chargez la <a href=\"https:\/\/www.osboxes.org\/ubuntu\/\">machine virtuel Ubuntu 14.04 LTS<\/a>.<\/li>\n<li style=\"text-align: justify;\">Avant d\u2019ex\u00e9cuter la machine virtuelle Ubuntu, assurez-vous qu\u2019elle est configur\u00e9e pour utiliser l\u2019interface r\u00e9seau en mode pont :<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1477\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/ubuntu_vm_settings.jpg\" alt=\"\" width=\"500\" height=\"327\" srcset=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/ubuntu_vm_settings.jpg 672w, https:\/\/www.f4ctz.fr\/wp-content\/uploads\/ubuntu_vm_settings-300x196.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/li>\n<li style=\"text-align: justify;\">Dans la machine virtuelle, nous devons disposer d\u2019un serveur NFS op\u00e9rationnel et d\u2019un serveur DHCP. Pour cela, lancez la machine virtuelle et installez les packages suivants :<br \/>\n<div id=\"wpshdo_1\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_1\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_1\"><\/a><a id=\"wpshat_1\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_1\"  onClick=\"javascript:wpsh_toggleBlock(1)\" title=\"Click to show\/hide code block\">Terminal commands<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_1\" onClick=\"javascript:wpsh_code(1)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_1\" onClick=\"javascript:wpsh_print(1)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_1\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\"><span class=\"kw2\">sudo<\/span> <span class=\"kw2\">apt-get<\/span> <span class=\"kw2\">install<\/span> nfs-kernel-server<br \/>\n<span class=\"kw2\">sudo<\/span> <span class=\"kw2\">apt-get<\/span> <span class=\"kw2\">install<\/span> isc-dhcp-server<\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">Connectez l&rsquo;interface Ethernet de votre PC directement sur le port 4 du WRT350N V2.<\/li>\n<li style=\"text-align: justify;\">Modifiez l&rsquo;adresse IP de l&rsquo;interface Ethernet de la machine virtuelle pour \u00eatre avec l&rsquo;IP statique 192.168.20.254.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1468\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/ubuntu_eth.jpg\" alt=\"\" width=\"480\" height=\"452\" srcset=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/ubuntu_eth.jpg 563w, https:\/\/www.f4ctz.fr\/wp-content\/uploads\/ubuntu_eth-300x282.jpg 300w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/li>\n<li style=\"text-align: justify;\">Configurons maintenant le serveur DHCP. Dans mon exemple, la machine virtuelle est le serveur DHCP avec l&rsquo;adresse IP 192.168.20.254, l&rsquo;h\u00f4te Windows OS a l&rsquo;adresse IP 192.168.20.10 (la premi\u00e8re valeur disponible puisque c&rsquo;est le 1e \u00e0 ce connecter) et le routeur WRT350N V2 obtiendra l&rsquo;adresse suivante : 192.168.20.11. Pour ce faire, configurez le fichier \/etc\/dhcp\/dhcpd.conf avec les lignes suivantes :<br \/>\n<div id=\"wpshdo_2\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_2\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_2\"><\/a><a id=\"wpshat_2\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_2\"  onClick=\"javascript:wpsh_toggleBlock(2)\" title=\"Click to show\/hide code block\">\/etc\/dhcp\/dhcpd.conf<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_2\" onClick=\"javascript:wpsh_code(2)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_2\" onClick=\"javascript:wpsh_print(2)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_2\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\">ddns-update-style none;<br \/>\n<br \/>\ndefault-lease-time <span class=\"nu0\">600<\/span>;<br \/>\nmax-lease-time <span class=\"nu0\">7200<\/span>;<br \/>\n<br \/>\noption subnet-mask 255.255.255.0;<br \/>\noption broadcast-address 192.168.20.255;<br \/>\noption routers 192.168.20.254;<br \/>\noption domain-name-servers 192.168.20.254;<br \/>\noption domain-name <span class=\"st0\">&quot;mydomain&quot;<\/span>;<br \/>\n<br \/>\nlog-facility local7;<br \/>\n<br \/>\nsubnet 192.168.20.0 netmask 255.255.255.0 <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; range 192.168.20.10 192.168.20.100;<br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">L&rsquo;image que nous allons placer dans la RAM du routeur acc\u00e9dera au serveur NFS de la machine virtuelle pour obtenir son rootfs. Elle devra se trouver sur le disque de la machine virtuelle dans un r\u00e9pertoire nomm\u00e9 \/tftpboot\/xxx.xxx.xxx.xxx, o\u00f9 xxx.xxx. xxx.xxx est l&rsquo;adresse IP fournie par le serveur DHCP. Dans mon cas, l&rsquo;adresse IP du routeur est 192.168.20.11. Configurons le serveur NFS :\n<ol style=\"list-style-type: lower-alpha;\">\n<li style=\"text-align: justify;\">Cr\u00e9ez le r\u00e9pertoire \/tftpboot\/192.168.20.11<\/li>\n<li style=\"text-align: justify;\">Ajoutez les lignes suivantes au fichier \/etc\/exports :<br \/>\n<div id=\"wpshdo_3\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_3\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_3\"><\/a><a id=\"wpshat_3\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_3\"  onClick=\"javascript:wpsh_toggleBlock(3)\" title=\"Click to show\/hide code block\">\/etc\/dhcp\/dhcpd.conf<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_3\" onClick=\"javascript:wpsh_code(3)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_3\" onClick=\"javascript:wpsh_print(3)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_3\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\"><span class=\"sy0\">\/<\/span>tftpboot<span class=\"sy0\">\/<\/span>192.168.20.11 &nbsp; &nbsp; <span class=\"sy0\">*<\/span><span class=\"br0\">&#40;<\/span>rw,<span class=\"kw2\">sync<\/span>,no_subtree_check,no_root_squash<span class=\"br0\">&#41;<\/span><\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">Mettez \u00e0 jour le serveur NFS avec ces nouveaux param\u00e8tres :<br \/>\n<div id=\"wpshdo_4\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_4\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_4\"><\/a><a id=\"wpshat_4\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_4\"  onClick=\"javascript:wpsh_toggleBlock(4)\" title=\"Click to show\/hide code block\">Terminal commands<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_4\" onClick=\"javascript:wpsh_code(4)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_4\" onClick=\"javascript:wpsh_print(4)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_4\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\"><span class=\"kw2\">sudo<\/span> exportfs <span class=\"re5\">-ra<\/span><br \/>\n<br \/>\n<span class=\"kw2\">sudo<\/span> service nfs-kernel-server restart<\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">J&rsquo;ai pr\u00e9par\u00e9 un RootFS avec tous les fichiers binaires de la derni\u00e8re version du firmware d&rsquo;originepr\u00eat \u00e0 \u00eatre programm\u00e9. T\u00e9l\u00e9chargez le fichier \u00ab\u00a0nfs_rootfs_jtag.tar.gz\u00a0\u00bb qui est sur le c\u00f4t\u00e9 droit de cette page. D\u00e9compressez le dans le r\u00e9pertoire \u00ab\u00a0\/home\/osboxes\/TEST\u00a0\u00bb.<\/li>\n<li style=\"text-align: justify;\">Ajoutez les lines suivantes dans le fichier \/etc\/fstab pour monter le dossier RootFS dans le r\u00e9pertoire partag\u00e9 \u00e0 travers le serveur NFS :<br \/>\n<div id=\"wpshdo_5\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_5\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_5\"><\/a><a id=\"wpshat_5\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_5\"  onClick=\"javascript:wpsh_toggleBlock(5)\" title=\"Click to show\/hide code block\">\/etc\/fstab<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_5\" onClick=\"javascript:wpsh_code(5)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_5\" onClick=\"javascript:wpsh_print(5)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_5\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\"><span class=\"sy0\">\/<\/span>home<span class=\"sy0\">\/<\/span>osboxes<span class=\"sy0\">\/<\/span>TEST<span class=\"sy0\">\/<\/span>192.168.20.11&nbsp; &nbsp; <span class=\"sy0\">\/<\/span>tftpboot<span class=\"sy0\">\/<\/span>192.168.20.11 none <span class=\"kw3\">bind<\/span>,rw <span class=\"nu0\">0<\/span> <span class=\"nu0\">0<\/span><\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">Pour \u00eatre sure qu&rsquo;il n&rsquo;y aura pas de probl\u00e8me de droit d&rsquo;acc\u00e8s et comme nous sommes dans une machine virtuelle sur un r\u00e9seau ferm\u00e9, ouvrons tous les droits \u00e0 tout le monde dans le r\u00e9pertoire NFS et faisons qu&rsquo;il appartienne \u00e0 root :<br \/>\n<div id=\"wpshdo_6\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_6\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_6\"><\/a><a id=\"wpshat_6\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_6\"  onClick=\"javascript:wpsh_toggleBlock(6)\" title=\"Click to show\/hide code block\">Terminal commands<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_6\" onClick=\"javascript:wpsh_code(6)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_6\" onClick=\"javascript:wpsh_print(6)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_6\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\"><span class=\"kw2\">sudo<\/span> <span class=\"kw2\">chown<\/span> <span class=\"re5\">-R<\/span> root:root <span class=\"sy0\">\/<\/span>tftpboot<br \/>\n<br \/>\n<span class=\"kw2\">sudo<\/span> <span class=\"kw2\">chmod<\/span> <span class=\"re5\">-R<\/span> <span class=\"nu0\">777<\/span> <span class=\"sy0\">\/<\/span>tftpboot<\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">Red\u00e9marrez la VM, authentifiez vous et v\u00e9rifiez que les services nfs-kernel-server et isc-dhcp-server fonctionnent correctement :<br \/>\n<div id=\"wpshdo_7\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_7\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_7\"><\/a><a id=\"wpshat_7\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_7\"  onClick=\"javascript:wpsh_toggleBlock(7)\" title=\"Click to show\/hide code block\">Terminal commands<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_7\" onClick=\"javascript:wpsh_code(7)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_7\" onClick=\"javascript:wpsh_print(7)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_7\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\"><span class=\"kw2\">sudo<\/span> service <span class=\"re5\">--status-all<\/span><\/div><\/div><\/div><\/li>\n<li>V\u00e9rifiez que le r\u00e9pertoire partag\u00e9 par le serveur NFS est bien partag\u00e9 :<br \/>\n<div id=\"wpshdo_8\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_8\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_8\"><\/a><a id=\"wpshat_8\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_8\"  onClick=\"javascript:wpsh_toggleBlock(8)\" title=\"Click to show\/hide code block\">Terminal commands<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_8\" onClick=\"javascript:wpsh_code(8)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_8\" onClick=\"javascript:wpsh_print(8)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_8\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\">ll <span class=\"sy0\">\/<\/span>tftpboot<span class=\"sy0\">\/<\/span>192.168.20.11<\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">Maintenant, la VM est pr\u00eate.<\/li>\n<\/ol>\n<\/li>\n<li style=\"text-align: justify;\">T\u00e9l\u00e9chargez le fichier \u00ab\u00a0zImage_jtag_wrt350n.zip\u00a0\u00bb (milles mercis \u00e0 <a href=\"http:\/\/www.upexia.nl\/\">DirkNL<\/a>) qui est disponible sur cette page et d\u00e9compressez le fichier \u00ab\u00a0zImage.jtag.wrt350n\u00a0\u00bb dans le m\u00eame r\u00e9pertoire que openocd.exe (dans \u00ab\u00a0bin-x64\u00a0\u00bb en ce qui me concerne puisque j&rsquo;utilise Win10 64bits).<\/li>\n<li style=\"text-align: justify;\">Dans le r\u00e9pertoire \u00ab\u00a0.\/scripts\/board\u00a0\u00bb dans le dossier d&rsquo;openOCD, cr\u00e9ez un fichier texte contenant les lignes suivantes :<br \/>\n<div id=\"wpshdo_9\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_9\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_9\"><\/a><a id=\"wpshat_9\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_9\"  onClick=\"javascript:wpsh_toggleBlock(9)\" title=\"Click to show\/hide code block\">.\/openocd-0.10.0scripts\boardwrt350nv2.cfg<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_9\" onClick=\"javascript:wpsh_code(9)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_9\" onClick=\"javascript:wpsh_print(9)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_9\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\"><span class=\"co0\"># Linksys WRT350Nv2<\/span><br \/>\n<br \/>\n<span class=\"co0\"># SoC: Marvell Orion 88F5181 with Feroceon CPU (ARMv5TE)<\/span><br \/>\n<span class=\"co0\"># &nbsp; &nbsp; &nbsp;Documentation at http:\/\/www.embeddedarm.com\/<\/span><br \/>\n<span class=\"co0\"># &nbsp; &nbsp; &nbsp;under Support -&gt; Documentation -&gt; Third-Party manuals<\/span><br \/>\n<span class=\"co0\"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-&gt; MV88F5182 files (sister SoC with SATA)<\/span><br \/>\n<br \/>\n<span class=\"kw1\">set<\/span> CPUTAPID 0x07926041<br \/>\n<span class=\"kw3\">source<\/span> <span class=\"br0\">[<\/span><span class=\"kw2\">find<\/span> target<span class=\"sy0\">\/<\/span>feroceon.cfg<span class=\"br0\">]<\/span><br \/>\n<br \/>\n<span class=\"co0\"># use RCLK (adaptive clock speed), fallback 3 MHz = 3000KHz<\/span><br \/>\n<span class=\"co0\"># (otherwise use &quot;adapter_khz&quot;, before 0.5.0 use &quot;jtag_khz&quot;, before 0.2.0 use &quot;jtag_speed&quot;)<\/span><br \/>\nadapter_khz 1000<br \/>\n<br \/>\narm7_9 dcc_downloads <span class=\"kw3\">enable<\/span><br \/>\narm7_9 fast_memory_access <span class=\"kw3\">enable<\/span><br \/>\n<br \/>\n<span class=\"co0\"># define NOR flash bank<\/span><br \/>\n<span class=\"co0\"># (TODO: can not be written to, seems some register values are missing in init)<\/span><br \/>\n<span class=\"kw1\">set<\/span> _FLASHNAME <span class=\"re1\">$_CHIPNAME<\/span>.flash<br \/>\nflash bank <span class=\"re1\">$_FLASHNAME<\/span> cfi 0xff800000 0x00800000 1 2 <span class=\"re1\">$_TARGETNAME<\/span> jedec_probe<br \/>\n<br \/>\ninit<br \/>\nftdi_set_signal PWR_RST <span class=\"nu0\">1<\/span><br \/>\njtag arp_init<\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">Maintenant ouvrez MobaXterm et d\u00e9marrez une session terminal. Ensuite, allez dans le r\u00e9pertoire de l&rsquo;ex\u00e9cutable d&rsquo;openOCD.<\/li>\n<li style=\"text-align: justify;\">Branchez le connecteur JTAG (pas en USB3) et allumez votre routeur. Envoyez cette commande dans le terminal (remplacez l&rsquo;interface par la v\u00f4tre) :<br \/>\n<div id=\"wpshdo_10\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_10\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_10\"><\/a><a id=\"wpshat_10\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_10\"  onClick=\"javascript:wpsh_toggleBlock(10)\" title=\"Click to show\/hide code block\">Terminal commands<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_10\" onClick=\"javascript:wpsh_code(10)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_10\" onClick=\"javascript:wpsh_print(10)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_10\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\">.<span class=\"sy0\">\/<\/span>openocd.exe <span class=\"re5\">-f<\/span> <span class=\"st0\">&quot;interface\/ftdi\/xds100v2.cfg&quot;<\/span> <span class=\"re5\">-f<\/span> <span class=\"st0\">&quot;board\/wrt350nv2.cfg&quot;<\/span><\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">Dans mon cas, j&rsquo;ai toujours des erreurs\u00e0 la premi\u00e8re ex\u00e9cution. Tapez CRTL+C pour terminer le processus et renvoyez la commande. Cela fonctionne sans erreur toujours \u00e0 la deuxi\u00e8me tentative :<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1492\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/openocd_start.jpg\" alt=\"\" width=\"700\" height=\"573\" srcset=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/openocd_start.jpg 993w, https:\/\/www.f4ctz.fr\/wp-content\/uploads\/openocd_start-300x246.jpg 300w, https:\/\/www.f4ctz.fr\/wp-content\/uploads\/openocd_start-768x629.jpg 768w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/li>\n<li style=\"text-align: justify;\">Dans MobaXterm, d\u00e9marrez une session Telnet sur localhost avec le port 4444 pour se connecter \u00e0 la ligne de commande d&rsquo;OpenOCD :<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1495\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/mobaxterm_telnet.jpg\" alt=\"\" width=\"600\" height=\"404\" srcset=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/mobaxterm_telnet.jpg 907w, https:\/\/www.f4ctz.fr\/wp-content\/uploads\/mobaxterm_telnet-300x202.jpg 300w, https:\/\/www.f4ctz.fr\/wp-content\/uploads\/mobaxterm_telnet-768x517.jpg 768w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/li>\n<li style=\"text-align: justify;\">Toujours dans MobaXterm, d\u00e9marrez une session port s\u00e9rie sur le convertisseur USB-s\u00e9rie \u00e0 la vitesse 115200bds.<\/li>\n<li style=\"text-align: justify;\">Maintenant, apr\u00e8s toutes ces \u00e9tapes pr\u00e9paratoires, nous allons charger dans la RAM du WRT350N V2 la zImage pour le faire booter. Tout d&rsquo;abord, nous devons faire un reset sur le routeur \u00e0 l&rsquo;aide du terminal d&rsquo;OpenOCD pour \u00eatre dans un \u00e9tat connu :<br \/>\n<div id=\"wpshdo_11\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_11\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_11\"><\/a><a id=\"wpshat_11\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_11\"  onClick=\"javascript:wpsh_toggleBlock(11)\" title=\"Click to show\/hide code block\">Terminal commands<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_11\" onClick=\"javascript:wpsh_code(11)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_11\" onClick=\"javascript:wpsh_print(11)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_11\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\">reset init<\/div><\/div><\/div><\/pre>\n<\/li>\n<li style=\"text-align: justify;\">Ensuite, envoyez toutes les commandes suivantes (attention \u00e0 bien remplacer AABBCCDDEEFF par l&rsquo;adresse MAC du routeur visible sur l&rsquo;\u00e9tiquette de sa face inf\u00e9ireure) dans le terminal d&rsquo;OpenOCD pour charger la zImage en RAM (MobaXterm accepte de coller du texte, c&rsquo;est plus rapide). Regardez dans le terminal de MobaXterm : vous devriez voir \u00ab\u00a001234\u00a0\u00bbpuis le boot du routeur \u00e0 partir de sa RAM et du syst\u00e8me de fichiers du serveur NFS. A la fin, vous obtenez le prompt.<br \/>\n<div id=\"wpshdo_12\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_12\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_12\"><\/a><a id=\"wpshat_12\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_12\"  onClick=\"javascript:wpsh_toggleBlock(12)\" title=\"Click to show\/hide code block\">Terminal commands<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_12\" onClick=\"javascript:wpsh_code(12)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_12\" onClick=\"javascript:wpsh_print(12)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_12\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\"><span class=\"co0\">#ram latency settings<\/span><br \/>\nferoceon.cpu mww 0xD0001400 0x03148400<br \/>\nferoceon.cpu mww 0xD0001404 0x04041000<br \/>\nferoceon.cpu mww 0xD0001408 0x11602220<br \/>\nferoceon.cpu mww 0xD000140C 0x0000040C<br \/>\nferoceon.cpu mww 0xD0001410 0x00000000<br \/>\nferoceon.cpu mww 0xD0001414 0x00000000<br \/>\nferoceon.cpu mww 0xD0001418 0x00000000<br \/>\nferoceon.cpu mww 0xD000141C 0x00000062<br \/>\nferoceon.cpu mww 0xD0001420 0x00000000<br \/>\n<br \/>\n<span class=\"co0\">#additional SDRAM settings<\/span><br \/>\nferoceon.cpu mww 0xF10014C0 0x071F128A<br \/>\nferoceon.cpu mww 0xF10014C4 0x071F128A<br \/>\n<br \/>\n<span class=\"co0\">#ram size register settings<\/span><br \/>\nferoceon.cpu mww 0xD0001504 0x01FF0001<br \/>\nferoceon.cpu mww 0xD000150C 0x00000000<br \/>\nferoceon.cpu mww 0xD0001510 0x20000000<br \/>\nferoceon.cpu mww 0xD0001514 0x00000000<br \/>\nferoceon.cpu mww 0xD000151C 0x00000000<br \/>\n<br \/>\n<span class=\"co0\">#ram init<\/span><br \/>\nferoceon.cpu mww 0xD0001480 0x00000001<br \/>\n<br \/>\n<span class=\"co0\">#serial setup<\/span><br \/>\nferoceon.cpu mww 0xD001200C 0x83<br \/>\nferoceon.cpu mww 0xD0012000 0x5A<br \/>\nferoceon.cpu mww 0xD001200C 0x03<br \/>\n<br \/>\n<span class=\"co0\">#serial test<\/span><br \/>\nferoceon.cpu mww 0xD0012000 0x30<br \/>\nferoceon.cpu mww 0xD0012000 0x31<br \/>\nferoceon.cpu mww 0xD0012000 0x32<br \/>\nferoceon.cpu mww 0xD0012000 0x33<br \/>\nferoceon.cpu mww 0xD0012000 0x34<br \/>\n<br \/>\n<span class=\"co0\">#CPU map registers<\/span><br \/>\nferoceon.cpu mww 0xD0020060 0x00FF7941<br \/>\nferoceon.cpu mww 0xD0020064 0xF0000000<br \/>\n<br \/>\n<span class=\"co0\">#cpu pci-e<\/span><br \/>\nferoceon.cpu mww 0xD0020100 0x00000003<br \/>\nferoceon.cpu mww 0xD0020104 0x00000000<br \/>\n<br \/>\n<span class=\"co0\">#interrupt<\/span><br \/>\nferoceon.cpu mww 0xD0020204 0x106203C9<br \/>\n<br \/>\n<span class=\"co0\">#mac (NOTE: use value from label on your device for replacing the AABBCCDDEEFF value)<\/span><br \/>\nferoceon.cpu mww 0xD0072418 0xAABBCCDD<br \/>\nferoceon.cpu mww 0xD0072414 0x0000EEFF<br \/>\n<br \/>\n<span class=\"co0\">#gpio<\/span><br \/>\nferoceon.cpu mww 0xD0010100 0x0000006E<br \/>\nferoceon.cpu mww 0xD0010104 0xFFFFF21C<br \/>\nferoceon.cpu mww 0xD0010108 0x00000000<br \/>\nferoceon.cpu mww 0xD001010C 0x00000530<br \/>\nferoceon.cpu mww 0xD0010110 0x0000054E<br \/>\nferoceon.cpu mww 0xD0010114 0x00000591<br \/>\nferoceon.cpu mww 0xD0010118 0x00000000<br \/>\nferoceon.cpu mww 0xD001011C 0x00000010<br \/>\n<br \/>\n<span class=\"co0\">#PCI-e<\/span><br \/>\nferoceon.cpu mww 0xD0041804 0x01FF0001<br \/>\nferoceon.cpu mww 0xD0041808 0x00000000<br \/>\nferoceon.cpu mww 0xD004180C 0x00000000<br \/>\nferoceon.cpu mww 0xD00418F8 0x8000003C<br \/>\nferoceon.cpu mww 0xD00418FC 0x0000010B<br \/>\n<br \/>\n<span class=\"co0\">#PCI<\/span><br \/>\nferoceon.cpu mww 0xD0030D3C 0x00000009<br \/>\nferoceon.cpu mww 0xD0030C00 0x2107E371<br \/>\nferoceon.cpu mww 0xD0030C78 0x8001380C<br \/>\nferoceon.cpu mww 0xD0031D58 0x00000100<br \/>\nferoceon.cpu mww 0xD004 0x3F2A3B0B<br \/>\n<br \/>\n<span class=\"co0\">#PCI\/MPP<\/span><br \/>\nferoceon.cpu mww 0xD0031D1C 0x03F3FFFF<br \/>\n<br \/>\n<span class=\"co0\">#MPP<\/span><br \/>\nferoceon.cpu mww 0xD0010000 0x00000003<br \/>\nferoceon.cpu mww 0xD0010004 0x11110010<br \/>\nferoceon.cpu mww 0xD0010050 0x00001111<br \/>\nferoceon.cpu mww 0xD0010008 0x03FF0000<br \/>\nferoceon.cpu mww 0xD0010010 0x10410636<br \/>\n<br \/>\n<span class=\"co0\">#NAND flash control register<\/span><br \/>\nferoceon.cpu mww 0xD00104E8 0xFFFF0000<br \/>\n<br \/>\n<span class=\"co0\">#register move<\/span><br \/>\nferoceon.cpu mww 0xD0020080 0xF1000000<br \/>\n<br \/>\nload_image .<span class=\"sy0\">\/<\/span>zImage.jtag.wrt350n 0x00400000 bin<br \/>\nresume 0x00400000<\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">Dans le terminal du port s\u00e9rie, on va vous demander d&rsquo;appuyer sur \u00ab\u00a0Entr\u00e9e\u00a0\u00bb et vous obtiendrez le prompt :<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1498\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/zImage_boot.jpg\" alt=\"\" width=\"450\" height=\"792\" srcset=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/zImage_boot.jpg 578w, https:\/\/www.f4ctz.fr\/wp-content\/uploads\/zImage_boot-171x300.jpg 171w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/li>\n<li style=\"text-align: justify;\"><span class=\"tlid-translation translation\"><span class=\"\" title=\"\">Dans le syst\u00e8me de fichiers que vous utilisez avec NFS, j&rsquo;ai pr\u00e9par\u00e9 dans le dossier \u00ab\u00a0\/root\u00a0\u00bb tout le n\u00e9cessaire pour flasher la m\u00e9moire flash du routeur WRT350N V2 avec la derni\u00e8re version du firmware d&rsquo;origine de Linksys :<\/span><\/span>\n<ul style=\"list-style-type: circle;\">\n<li><span class=\"tlid-translation translation\"><span title=\"\">Les 4 fichiers binaires dans le dossier \u00ab\u00a0\/root\/Linksys\u00a0\u00bb pour les partitions rootfs + kernel, lang, nvram et u-boot.<\/span><\/span><\/li>\n<li><span class=\"tlid-translation translation\"><span title=\"\">Quelques scripts dans \u00ab\u00a0\/root\u00a0\u00bb qui permettent de lancer la s\u00e9quence de programmation (rien de particulier, seulement les commandes \u00ab\u00a0dd\u00a0\u00bb avec les bons mtdblock).<\/span><\/span><\/li>\n<\/ul>\n<p><span class=\"tlid-translation translation\"><span class=\"\" title=\"\">La seule chose \u00e0 faire avant de flasher est de modifier le fichier \u00ab\u00a0wrt350_official2.00.20_uboot.bin\u00a0\u00bb dans le dossier \u00ab\u00a0\/root\/Linksys\u00a0\u00bb pour y \u00e9crire l&rsquo;adresse MAC de votre routeur.<\/span> <span title=\"\">Pour ce faire, utilisez votre \u00e9diteur HEX pr\u00e9f\u00e9r\u00e9 (HxD dans mon cas) et allez \u00e0 l&rsquo;offset 0x3FFA0 pour \u00e9crire les 6 octets \u00e9crits sur la plaque signal\u00e9tique sous votre routeur :<\/span><\/span><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1484\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/configure_MAC_adr.jpg\" alt=\"\" width=\"624\" height=\"138\" srcset=\"https:\/\/www.f4ctz.fr\/wp-content\/uploads\/configure_MAC_adr.jpg 624w, https:\/\/www.f4ctz.fr\/wp-content\/uploads\/configure_MAC_adr-300x66.jpg 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/li>\n<li style=\"text-align: justify;\"><span class=\"tlid-translation translation\"><span class=\"\" title=\"\">D\u00e8s que c&rsquo;est fait, vous pouvez lancer les scripts de programmation les uns apr\u00e8s les autres dans le terminal du port s\u00e9rie (ne vous inqui\u00e9tez pas si vous ne voyez pas de r\u00e9ponse sur le terminal du port s\u00e9rie pendant un certain temps, soyez patient):<\/span><\/span><br \/>\n<div id=\"wpshdo_13\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_13\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_13\"><\/a><a id=\"wpshat_13\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_13\"  onClick=\"javascript:wpsh_toggleBlock(13)\" title=\"Click to show\/hide code block\">Terminal commands<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_13\" onClick=\"javascript:wpsh_code(13)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_13\" onClick=\"javascript:wpsh_print(13)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.f4ctz.fr\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_13\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><div class=\"bash\" style=\"font-family:monospace;\"><span class=\"kw3\">cd<\/span> <span class=\"sy0\">\/<\/span>root<br \/>\n<br \/>\n.<span class=\"sy0\">\/<\/span>flash.rootfs<br \/>\n.<span class=\"sy0\">\/<\/span>flash.lang<br \/>\n.<span class=\"sy0\">\/<\/span>flash.nvram<br \/>\n.<span class=\"sy0\">\/<\/span>flash.uboot<\/div><\/div><\/div><\/li>\n<li style=\"text-align: justify;\">D\u00e9branchez le JTAG, le port serie, \u00e9teignez le routeur, red\u00e9marrez-le : votre routeur est de nouveau vivant !<\/li>\n<li style=\"text-align: justify;\">Enjoy !<\/li>\n<\/ol>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>On peut trouver les caract\u00e9ristiques de ce routeur ici : https:\/\/wikidevi.com\/wiki\/Linksys_WRT350N_v2. C&rsquo;est un routeur WiFi ant\u00e9rieur \u00e0 2010 mais qui pr\u00e9sente l&rsquo;int\u00e9r\u00eat d&rsquo;avoir un port USB ce qui peut \u00eatre int\u00e9ressant notamment pour y mettre un t\u00e9l\u00e9phone en partage de connexion et le transformer en modem 4G. Le firmware d&rsquo;origine ne laisser pas beaucoup de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1437,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[405,406,407,397,409,410,408,411],"class_list":["post-1440","page","type-page","status-publish","hentry","tag-bricked-router","tag-debrick","tag-jtag","tag-linksys","tag-marvell","tag-marvell-88f5181","tag-marvell-88fxx81","tag-wrt350n-v2"],"_links":{"self":[{"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=\/wp\/v2\/pages\/1440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1440"}],"version-history":[{"count":47,"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=\/wp\/v2\/pages\/1440\/revisions"}],"predecessor-version":[{"id":1506,"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=\/wp\/v2\/pages\/1440\/revisions\/1506"}],"up":[{"embeddable":true,"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=\/wp\/v2\/pages\/1437"}],"wp:attachment":[{"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.f4ctz.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}