Port Arduino Yún Software to TP-Link TL-WR703N Successfully

Chinese version:http://www.tonylianlong.com/?p=131
[don't laugh,my English is not very good]
2014-01-15 00:03:57的屏幕截图
IMG_0171_new
I think I am the first person who port the Arduino Yún software to 703N.

The time I ported it was Wednesday,the 15th January 00:01.
Wireless flashing — OK! Bridge — OK!
This is the way to make your 703N a Yún:
First,you have to have a TP-Link TP-WR703N(or another device which has the AR9331 chip,such as MR11U,MR10U) with 16Mb of Flash and 64Mb of RAM(16Mb of Flash is necessary but 64Mb of RAM isn’t) and an arduino MEGA(you had better not use Arduino UNO because it just has a pair of UART,if you just have UNO,you might have to remove the wires between the Arduino’s TX and 703N’s RX,Arduino’s RX and 703N’s TX,that’s pretty bad,an leonardo isn’t support now because I don’t have one so I don’t know how to make it work),Arduino IDE 1.5.5 or newer.
Then,flash your 703N to SLboat Openwrt firmware,it supports 16Mb of flash,if you use the firmware from openwrt.org,you will just have less than 1Mb free space.That’s the URL:URL,hoho~You may have to use an SPI Flash Flasher or you can use the u-boot to flash your 703N.After flashing,you will have 12.6Mb space to storage.Do not do anything else!That’s a good beginning!
Third,login to your 703N by telnet and type passwd to change password,and download a file from this URL:URL,then put this file to your 703N’s ROOT FOLDER by WinSCP or lighttpd(server) and wget(client) command,and type “tar zxvf yun.tar.gz”,then reboot your device now.
Fourth,login your router by UART or SSH(IP:192.168.1.1,if your another router’s ip is not this,you can use SSH),and the password is “TLL”,not what you set before!If you are using UART,change your 703N’s IP by uci command or you can edit the config file,then reboot.Connect your Arduino device to your 703N by USB and connect the TP_OUT on 703N to the Arduino’s RX1(UNO’s RX),connect the TP_IN on 703N to the Arduino’s TX1(UNO’s TX,and you can connect a 1K(or bigger) ohm resistor brtween them).Then open your Arduino IDE’s boards.txt(you can use the “find” command or other search tool to search),add these things:
yuno.name=Arduino Yún(Uno)
yuno.upload.via_ssh=true

yuno.vid.0=0×2341
yuno.pid.0=0×0043
yuno.vid.1=0×2341
yuno.pid.1=0×0001
yuno.upload.tool=avrdude
yuno.upload.protocol=arduino
yuno.upload.maximum_size=32256
yuno.upload.maximum_data_size=2048
yuno.upload.speed=115200

yuno.bootloader.tool=avrdude
yuno.bootloader.low_fuses=0xFF
yuno.bootloader.high_fuses=0xDE
yuno.bootloader.extended_fuses=0×05
yuno.bootloader.unlock_bits=0x3F
yuno.bootloader.lock_bits=0x0F
yuno.bootloader.file=optiboot/optiboot_atmega328.hex

yuno.build.mcu=atmega328p
yuno.build.f_cpu=16000000L
yuno.build.board=AVR_UNO
yuno.build.core=arduino
yuno.build.variant=standard
##############################################################

ymega.name=Arduino Yún(Mega)
ymega.upload.via_ssh=true

ymega.vid.0=0×2341
ymega.pid.0=0×0010
ymega.vid.1=0×2341
ymega.pid.1=0×0042

ymega.upload.tool=avrdude
ymega.upload.maximum_data_size=8192

ymega.bootloader.tool=avrdude
ymega.bootloader.low_fuses=0xFF
ymega.bootloader.unlock_bits=0x3F
ymega.bootloader.lock_bits=0x0F

ymega.build.f_cpu=16000000L
ymega.build.core=arduino
ymega.build.variant=mega
# default board may be overridden by the cpu menu
ymega.build.board=AVR_MEGA2560

## Arduino Mega w/ ATmega2560
## ————————-
ymega.menu.cpu.atmega2560=ATmega2560 (Mega 2560)

ymega.menu.cpu.atmega2560.upload.protocol=wiring
ymega.menu.cpu.atmega2560.upload.maximum_size=258048
ymega.menu.cpu.atmega2560.upload.speed=115200

ymega.menu.cpu.atmega2560.bootloader.high_fuses=0xD8
ymega.menu.cpu.atmega2560.bootloader.extended_fuses=0xFD
ymega.menu.cpu.atmega2560.bootloader.file=stk500v2/stk500boot_v2_mega2560.hex

ymega.menu.cpu.atmega2560.build.mcu=atmega2560
ymega.menu.cpu.atmega2560.build.board=AVR_MEGA2560

## Arduino Mega w/ ATmega1280
## ————————-
ymega.menu.cpu.atmega1280=ATmega1280

ymega.menu.cpu.atmega1280.upload.protocol=arduino
ymega.menu.cpu.atmega1280.upload.maximum_size=126976
ymega.menu.cpu.atmega1280.upload.speed=57600

ymega.menu.cpu.atmega1280.bootloader.high_fuses=0xDA
ymega.menu.cpu.atmega1280.bootloader.extended_fuses=0xF5
ymega.menu.cpu.atmega1280.bootloader.file=atmega/ATmegaBOOT_168_atmega1280.hex

ymega.menu.cpu.atmega1280.build.mcu=atmega1280
ymega.menu.cpu.atmega1280.build.board=AVR_MEGA
Do you know? Yun + Uno = Yuno !!It’s fantastic!
Download this bridge library(it is different from the old bridge library):URL,and unpack it to the libraries directory under your Arduino IDE’s directory.
Finally,open the Arduino IDE,and select your 703N,enjoy your new Arduino Yún!

Port Arduino Yún Software to TP-Link TL-WR703N Successfully》上有4条评论

  1. SLboat

    “Then,flash your 703N to SLboat Openwrt firmware,it supports 16Mb of flash,if you use the firmware from openwrt.org,you will just have less than 1Mb free space”

    这可不像是完全准确的,对于森亮号固件来说,唯一一些变化的修改就是定制了个复位功能,默认开启wifi,其他的部分是和AA固件一致的,所以森亮号固件没有任何魔法在这里-也可能是我的能力太有限,我只想尽可能保持官方的功能然后加上个傻瓜的复位-因为我想作为一个冒险设置网络错误的人有机会恢复是很不错的-撇开安全模式等玩意再说,噢对了,要说一些特别的,那可能就是USB补丁,这可能是一点特别的,但是除此外没有理由可以说明我让它识别了16M固件,只有AA附近版本的固件都能够识别这个16M芯片(基于它们的ECCID-或许是这东西,或许不是),但是重点是,森亮号固件没有做到这个魔法-很遗憾的-是Openwrt的那帮家伙做到了

    回复
    1. tonylianlong 文章作者

      我找你找了很久了。。。不过上面说的确实是对的,你的固件确实支持16M的flash,不是吗?
      另外普通的官网上的703N固件,识别flash是可以,但是空间跟4M一样……
      我想和你取得联系,但是一直没能联系上。

      回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>