Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| toh:asus:wl-330n [2018/01/16 18:37] – [Installation using recovery mode] LEDE update kostett | toh:asus:wl-330n [2019/09/02 18:24] – broken link fixed tmomas | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== ASUS WL-330N & WL-330N3G ====== | ||
| + | {{section> | ||
| + | |||
| + | **Ralink RT3050F** | ||
| + | |||
| + | The device is a mobile 150Mbit wireless N router with | ||
| + | * Single Internal antenna | ||
| + | * Single 100/10 Ethernet Interface | ||
| + | * 4 MB Flash | ||
| + | * 32 MB SDRAM | ||
| + | |||
| + | |||
| + | * WL-330N is supported since [[https:// | ||
| + | * WL-330N3G is supported since: [[https:// | ||
| + | * Both supported by Attitude Adjustment 12.09: [[http:// | ||
| + | |||
| + | |||
| + | ===== Supported Versions ===== | ||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Supported Current Rel, OEM device homepage URL_url, OWrt Forum Topic URL_url, Device Techdata_pageid | ||
| + | headers : Brand, Model, Version, Current Release, OEM Info, Forum Topic, Technical Data | ||
| + | align : c, | ||
| + | filter | ||
| + | ---- | ||
| + | |||
| + | |||
| + | ===== Hardware ===== | ||
| + | |||
| + | ^ Model ^ Version | ||
| + | | WL-330N | ||
| + | | WL-330N3G | ||
| + | | WL-330N3G | ||
| + | |||
| + | WL-330N3G Rev 1.20 is also sold as WL-330N. On WL-330N USB port is available but not soldered. Also, there' | ||
| + | |||
| + | ==== Info ==== | ||
| + | |||
| + | | **Architecture: | ||
| + | | **Vendor:** Asus | | ||
| + | | **Bootloader: | ||
| + | | **System-On-Chip: | ||
| + | | **CPU Speed:** 320 Mhz | | ||
| + | | **Flash-Chip: | ||
| + | | **Flash size:** 4 MiB | | ||
| + | | **RAM:** 32 MiB | | ||
| + | | **Wireless: | ||
| + | | **Ethernet: | ||
| + | | **USB:** 1 x 2.0 | | ||
| + | | **Serial:** Yes | | ||
| + | | **JTAG:** Yes (untested) | ||
| + | |||
| + | |||
| + | ==== Photos ==== | ||
| + | |||
| + | {{https:// | ||
| + | {{https:// | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | |||
| + | ==== Opening the case ==== | ||
| + | **Note:** This will void your warranty! | ||
| + | |||
| + | - There is one screw underneath the serial and mac sticker on bottom of the device. | ||
| + | - Sides of plastic case are held together with small clips. Three on both long sides, two on end with no connectors. | ||
| + | |||
| + | The case can be very difficult to open, but be careful not to destroy the plastic in the process as the case makes up half the body of the Ethernet socket. | ||
| + | |||
| + | ==== Serial ==== | ||
| + | |||
| + | The serial port on bottom side of PCB, left from USB port. There' | ||
| + | |||
| + | Settings: 57600N8, 3v3 TTL | ||
| + | |||
| + | **Note:** The pads may be covered in solder mask, in which case you will have to carefully scrape them clean with a sharp blade or tweezers before soldering. | ||
| + | |||
| + | {{http:// | ||
| + | {{http:// | ||
| + | {{http:// | ||
| + | |||
| + | |||
| + | ==== JTAG ==== | ||
| + | |||
| + | JTAG pins can be seen after removing metal RF shield. Location and number of pins match with Ralink datasheet JTAG info. Functionality of JTAG has not been tested. | ||
| + | |||
| + | |||
| + | ===== Installation ===== | ||
| + | |||
| + | ** Note: ** OpenWrt supports this device since Attitude Adjustment 12.09. | ||
| + | |||
| + | ** Note: ** Be carefully while installing version 15.05.1 cause there' | ||
| + | |||
| + | ** Note: ** Correct work with HUAWEI HiLink devices avaliable since LEDE 17.01.4. | ||
| + | |||
| + | ==== Installation using console port ==== | ||
| + | |||
| + | - download a [[http:// | ||
| + | - or [[http:// | ||
| + | - Prepare a TFTP-Server and place the openwrt-ramips-rt305x-wl-330n3g-squashfs-sysupgrade.bin (or bin/ | ||
| + | - Rename the binary to test.bin (longer filename failed once, test.bin is the default) | ||
| + | - Connect to serial port (57600N8) | ||
| + | - Power-ON your WL-330N3G (or WL-330N) | ||
| + | - When asking " | ||
| + | - fill out (WL-330N3g-)device and (TFTP-)server IP-Adresses | ||
| + | - enter the filename: test.bin | ||
| + | |||
| + | |||
| + | Press enter and wait until flashing is complete and the device reboots. The OpenWrt should be accessible on it's default IP (192.168.1.1). | ||
| + | |||
| + | Recovering should be possible as the bootmanager is not overwritten. | ||
| + | |||
| + | ==== Installation using recovery mode ==== | ||
| + | |||
| + | ** Note: ** Tested on WL-330N3G. | ||
| + | |||
| + | It is possible to load an OpenWrt or LEDE image this way, e.g. [[http:// | ||
| + | The ASUS WEB-interface firmware update page does not accept an OpenWrt/ | ||
| + | |||
| + | - Connect the router to the Ethernet port of your computer. | ||
| + | - Power on your Router and press the restore or WPS button | ||
| + | - Keep holding the restore or WPS button approx 7 seconds more until the power LED blinks slowly (about 0.2 Hz). If you are running tcpdump on the Ethernet interface you should see ARP requests from 192.168.1.1 for 192.168.1.20. | ||
| + | - Configure your Ethernet IPv4 address as static: **192.168.1.20** netmask 255.255.255.0. Note the IP of .20 is critical - the bootloader accepts tftp only from this IP. | ||
| + | - Use tftp to upload a firmware file in **binary mode** to the device: \\ **Under Windows** this can be done with "tftp -i 192.168.1.1 put WL-330N3G_1.0.2.0.trx" | ||
| + | # tftp 192.168.1.1 | ||
| + | tftp> binary | ||
| + | tftp> trace | ||
| + | Packet tracing on. | ||
| + | tftp> rexmt 1 | ||
| + | tftp> put lede-17.01.4-ramips-rt305x-wl-330n3g-squashfs-sysupgrade.bin | ||
| + | sent WRQ < | ||
| + | received ACK < | ||
| + | sent DATA < | ||
| + | [...] | ||
| + | sent DATA < | ||
| + | received ACK < | ||
| + | </ | ||
| + | - Wait, flashing may take a couple of minutes. Do not power off! | ||
| + | - The device will reboot when flashing is done. If you flashed OpenWrt/ | ||
| + | |||
| + | ===== Bootlogs ===== | ||
| + | ==== OEM bootlog ==== | ||
| + | <WRAP bootlog> | ||
| + | < | ||
| + | |||
| + | Board: Ralink APSoC DRAM: 32 MB | ||
| + | relocate_code Pointer at: 81b80000 | ||
| + | spi_wait_nsec: | ||
| + | spi deice id: c2 20 16 c2 20 (2016c220) | ||
| + | find flash: mx25l3205d | ||
| + | raspi_read: from:30000 len: | ||
| + | *** Warning - bad CRC, using default environment | ||
| + | |||
| + | ============================================ | ||
| + | Ralink UBoot Version: 3.3 | ||
| + | -------------------------------------------- | ||
| + | ASIC 3052_MP2 (Port5< | ||
| + | DRAM component: 256 Mbits SDR | ||
| + | DRAM bus: 16 bit | ||
| + | Total memory: 32 MBytes | ||
| + | Flash component: SPI Flash | ||
| + | Date: | ||
| + | ============================================ | ||
| + | icache: sets:256, ways:4, linesz:32 , | ||
| + | dcache: sets:128, ways:4, linesz:32 , | ||
| + | |||
| + | ##### The CPU freq = 320 MHZ #### | ||
| + | |||
| + | SDRAM bus set to 16 bit | ||
| + | SDRAM size =32 Mbytes | ||
| + | |||
| + | 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. | ||
| + | 9: Load Boot Loader code then write to Flash via TFTP. | ||
| + | |||
| + | 3: System Boot system code via Flash. | ||
| + | |||
| + | before LEDON: | ||
| + | data:3787 | ||
| + | Do bootm | ||
| + | ## Booting image at bf050000 ... | ||
| + | raspi_read: from:50000 len: | ||
| + | Image Name: | ||
| + | | ||
| + | Image Type: MIPS Linux Kernel Image (lzma compressed) | ||
| + | Data Size: 3781695 Bytes = 3.6 MB | ||
| + | Load Address: 80000000 | ||
| + | Entry Point: | ||
| + | raspi_read: from:50040 len: | ||
| + | | ||
| + | | ||
| + | No initrd | ||
| + | ## Transferring control to Linux (at address 80345000) ... | ||
| + | ## Giving linux memsize in MB, 32 | ||
| + | |||
| + | Starting kernel ... | ||
| + | |||
| + | |||
| + | LINUX started... | ||
| + | |||
| + | THIS IS ASIC | ||
| + | Linux version 2.6.21 (root@localhost.localdomain) (gcc version 3.4.2) #1014 Mon Apr 25 | ||
| + | 11:41:04 CST 2011 | ||
| + | |||
| + | The CPU feqenuce set to 320 MHz | ||
| + | CPU revision is: 0001964c | ||
| + | Determined physical RAM map: | ||
| + | | ||
| + | Initrd not found or empty - disabling initrd | ||
| + | Built 1 zonelists. | ||
| + | Kernel command line: console=ttyS1, | ||
| + | Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes. | ||
| + | Primary data cache 16kB, 4-way, linesize 32 bytes. | ||
| + | Synthesized TLB refill handler (20 instructions). | ||
| + | Synthesized TLB load handler fastpath (32 instructions). | ||
| + | Synthesized TLB store handler fastpath (32 instructions). | ||
| + | Synthesized TLB modify handler fastpath (31 instructions). | ||
| + | Cache parity protection disabled | ||
| + | cause = 80800058, status = 1100ff00 | ||
| + | PID hash table entries: 128 (order: 7, 512 bytes) | ||
| + | calculating r4koff... 00138800(1280000) | ||
| + | CPU frequency 320.00 MHz | ||
| + | Using 160.000 MHz high precision timer. | ||
| + | Console: colour dummy device 80x25 | ||
| + | Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) | ||
| + | Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) | ||
| + | Memory: 26244k/ | ||
| + | it, 0k highmem) | ||
| + | Mount-cache hash table entries: 512 | ||
| + | NET: Registered protocol family 16 | ||
| + | SCSI subsystem initialized | ||
| + | usbcore: registered new interface driver usbfs | ||
| + | usbcore: registered new interface driver hub | ||
| + | usbcore: registered new device driver usb | ||
| + | Time: MIPS clocksource has been installed. | ||
| + | NET: Registered protocol family 2 | ||
| + | IP route cache hash table entries: 1024 (order: 0, 4096 bytes) | ||
| + | TCP established hash table entries: 1024 (order: 1, 8192 bytes) | ||
| + | TCP bind hash table entries: 1024 (order: 0, 4096 bytes) | ||
| + | TCP: Hash tables configured (established 1024 bind 1024) | ||
| + | TCP reno registered | ||
| + | detected lzma initramfs | ||
| + | detected lzma initramfs | ||
| + | initramfs: LZMA lc=3, | ||
| + | LZMA initramfs by Ming-Ching Tiew < | ||
| + | ....................................................................................... | ||
| + | ...................................< | ||
| + | gher | ||
| + | squashfs: LZMA suppport for slax.org by jro | ||
| + | fuse init (API version 7.8) | ||
| + | io scheduler noop registered (default) | ||
| + | Ralink gpio driver initialized | ||
| + | spidrv_major = 217 | ||
| + | HDLC line discipline: version $Revision: 1.1.1.1 $, maxframe=4096 | ||
| + | N_HDLC line discipline registered. | ||
| + | Serial: 8250/16550 driver $Revision: 1.3 $ 2 ports, IRQ sharing disabled | ||
| + | serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A | ||
| + | serial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A | ||
| + | RAMDISK driver initialized: | ||
| + | loop: loaded (max 8 devices) | ||
| + | rdm_major = 254 | ||
| + | PPP generic driver version 2.4.2 | ||
| + | PPP Deflate Compression module registered | ||
| + | PPP BSD Compression module registered | ||
| + | PPP MPPE Compression module registered | ||
| + | NET: Registered protocol family 24 | ||
| + | PPPoL2TP kernel driver, V0.17 | ||
| + | PPTP driver version 0.8.4 | ||
| + | block2mtd: version $Revision: 1.1.1.1 $ | ||
| + | spi_wait_nsec: | ||
| + | deice id : c2 20 16 c2 20 (2016c220) | ||
| + | mx25l3205d(c2 20160000) (4096 Kbytes) | ||
| + | mtd .name = raspi, .size = 0x00400000 (4M) .erasesize = 0x00010000 (64K) .numeraseregio | ||
| + | ns = 0 | ||
| + | Creating 5 MTD partitions on " | ||
| + | 0x00000000-0x00400000 : " | ||
| + | 0x00000000-0x00030000 : " | ||
| + | 0x00030000-0x00040000 : " | ||
| + | 0x00040000-0x00050000 : " | ||
| + | 0x00050000-0x01000000 : " | ||
| + | mtd: partition " | ||
| + | x3b0000 | ||
| + | Initializing USB Mass Storage driver... | ||
| + | usbcore: registered new interface driver usb-storage | ||
| + | USB Mass Storage support registered. | ||
| + | nf_conntrack version 0.5.0 (16384 buckets, 8192 max) | ||
| + | ipt_time loading | ||
| + | ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted Cone | ||
| + | arp_tables: (C) 2002 David S. Miller | ||
| + | TCP cubic registered | ||
| + | NET: Registered protocol family 1 | ||
| + | NET: Registered protocol family 10 | ||
| + | NET: Registered protocol family 17 | ||
| + | 802.1Q VLAN Support v1.8 Ben Greear < | ||
| + | All bugs added by David S. Miller < | ||
| + | GDMA1_MAC_ADRH -- : 0x00000000 | ||
| + | GDMA1_MAC_ADRL -- : 0x00000000 | ||
| + | Ralink APSoC Ethernet Driver Initilization. v2.00 256 rx/tx descriptors allocated, mtu | ||
| + | = 1500! | ||
| + | GDMA1_MAC_ADRH -- : 0x0000000c | ||
| + | GDMA1_MAC_ADRL -- : 0x43305077 | ||
| + | PROC INIT OK! | ||
| + | Freeing unused kernel memory: 2700k freed | ||
| + | Set: phy[0].reg[0] = 3900 | ||
| + | Set: phy[1].reg[0] = 3900 | ||
| + | Set: phy[2].reg[0] = 3900 | ||
| + | Set: phy[3].reg[0] = 3900 | ||
| + | Set: phy[4].reg[0] = 3900 | ||
| + | Algorithmics/ | ||
| + | switch register base addr to 0xb0000000 | ||
| + | write offset 0x60, value 0x2dd | ||
| + | [ra setdir]: 47b80 | ||
| + | devpts: called with bogus options | ||
| + | spi deice id: c2 20 16 c2 20 (2016c220) | ||
| + | find flash: mx25l3205d | ||
| + | |||
| + | ## Restoring defaults... ## | ||
| + | done | ||
| + | set 3g chk | ||
| + | pr[k] track_flag=0, | ||
| + | echeck wan_proto of sw_mode()(6) | ||
| + | [rc] router-mode set 3g flag | ||
| + | track set 201 | ||
| + | track ok:201 | ||
| + | *** value_str | ||
| + | [rswitch register base addr to 0xb0000000 | ||
| + | c Chk sw_mode/ex] [6][] | ||
| + | --- init_switch_mode --- | ||
| + | write offset 0x60, value 0x2dd | ||
| + | [ra setdir]: 47b80 | ||
| + | *** value_str | ||
| + | --- 3g mode --- | ||
| + | --- start to gen ralink config. --- | ||
| + | rt2860v2_ap: | ||
| + | [rc] main_loop: state= 2 | ||
| + | vconfig... | ||
| + | GDMA1_MAC_ADRH -- : 0x0000f46d | ||
| + | GDMA1_MAC_ADRL -- : 0x04db409c | ||
| + | |||
| + | phy_tx_ring = 0x0037c000, tx_ring = 0xa037c000 | ||
| + | |||
| + | phy_rx_ring = 0x00000000, rx_ring = 0x00000000 | ||
| + | RT305x_ESW: Link Status Changed | ||
| + | CDMA_CSG_CFG = 81000007 | ||
| + | GDMA1_FWD_CFG = 710000 | ||
| + | [K] rtmp nv init: read from:40000 | ||
| + | [RtmpFlashRead] from: | ||
| + | [ra flash conf 3] | ||
| + | 0x1300 = 00064380 | ||
| + | ra0 up!!! | ||
| + | waitpid: No child processes | ||
| + | waitpid: No child processes | ||
| + | device eth2 entered promiscuous mode | ||
| + | waitpid: No child processes | ||
| + | device ra0 entered promiscuous mode | ||
| + | waitpid: No child processes | ||
| + | [rc] not repeater mode [192.168.1.1][] | ||
| + | ##br0: port 2(ra0) entering learning state | ||
| + | [rc] set lan_ifbr0: port 1(eth2) entering learning state | ||
| + | as 192.168.1.1/ | ||
| + | waitpid: No child processes | ||
| + | update lan status | ||
| + | |||
| + | set default filter settings | ||
| + | Set: phy[0].reg[0] = 3100 | ||
| + | Set: phy[1].reg[0] = 3100 | ||
| + | waitpid: No child processes | ||
| + | Set: phy[2].reg[0] = 3100 | ||
| + | waitpid: No child processes | ||
| + | Set: phy[3].reg[0] = 3100 | ||
| + | waitpid: No child processes | ||
| + | Set: phy[4].reg[0] = 3100 | ||
| + | waitpid: No child processes | ||
| + | start_wan | ||
| + | start dns: | ||
| + | ready to exec dproxy | ||
| + | start services... | ||
| + | [rc] start services | ||
| + | [rc] start dhcpd | ||
| + | starting... | ||
| + | [dhcpd] force setbr0: topology change detected, propagating | ||
| + | extra option dnbr0: port 2(ra0) entering forwarding state | ||
| + | s | ||
| + | br0: topology change detected, propagating | ||
| + | br0: port 1(eth2) entering forwarding state | ||
| + | info, udhcp server (v0.9.8) started | ||
| + | sh: lpd: not found | ||
| + | |||
| + | ***** g_wl_interface = ra0 ****** | ||
| + | |||
| + | libupnp: using UDP SSDP_PORT = 1900 | ||
| + | upnpd[308]: UPnP SDK Successfully Initialized. | ||
| + | upnpd[308]: Succesfully set the Web Server Root Directory. | ||
| + | --- START: Wait to start wanduck --- | ||
| + | |||
| + | Delay run wanduck 3 seconds | ||
| + | upnpd[308]: IGD root device successfully registered. | ||
| + | upnpd[308]: Advertisements Sent. Listening for requests ... | ||
| + | cannot get proto entry: No such file or directory | ||
| + | cannot get proto entry: No such file or directory | ||
| + | [wanduck]: under sw_mode: | ||
| + | resume stp forwarding delay and hello time | ||
| + | waitpid: No child processes | ||
| + | waitpid: No child processes | ||
| + | killall: telnetd: no process killed | ||
| + | Password for ' | ||
| + | switch register base addr to 0xb0000000 | ||
| + | dwc_otg: version 2.72a 24-JUN-2008 | ||
| + | DWC_otg: Core Release: 2.66a | ||
| + | DWC_otg: Periodic Transfer Interrupt Enhancement - disabled | ||
| + | DWC_otg: Multiprocessor Interrupt Enhancement - disabled | ||
| + | DWC_otg: Using DMA mode | ||
| + | DWC_otg: Device using Buffer DMA mode | ||
| + | dwc_otg lm0: DWC OTG Controller | ||
| + | dwc_otg lm0: new USB bus registered, assigned bus number 1 | ||
| + | dwc_otg lm0: irq 18, io mem 0x00000000 | ||
| + | DWC_otg: Init: Port Power? op_state=1 | ||
| + | DWC_otg: Init: Power Port (0) | ||
| + | [K] generic probe:1, 0, 0 | ||
| + | usb usb1: configuration #1 chosen from 1 choice | ||
| + | hub 1-0:1.0: USB hub found | ||
| + | hub 1-0:1.0: 1 port detected | ||
| + | write offset 0x60, value 0x2dd | ||
| + | [ra setdir]: 47b80 | ||
| + | pool.ntp.org: | ||
| + | upnp will be delayed 10 secs | ||
| + | |||
| + | # Enable direct rule | ||
| + | [k] track_flag=0, | ||
| + | track set ok | ||
| + | [k] track_flag=0, | ||
| + | track set ok | ||
| + | |||
| + | |||
| + | BusyBox v1.12.1 (2010-08-05 12:00:35 CST) built-in shell (ash) | ||
| + | Enter ' | ||
| + | |||
| + | # [wd] chk usb plugin | ||
| + | [rc] main_loop: [k] track_flag=0, | ||
| + | state= 6 | ||
| + | |||
| + | ## rc recv HOTPLUG: | ||
| + | track set 202 | ||
| + | track ok:0 | ||
| + | SIGTTIN: do nothing | ||
| + | [rc] main_loop: state= 4 | ||
| + | |||
| + | #</ | ||
| + | </ | ||
| + | |||
| + | ===== Tags ===== | ||
| + | |||
| + | {{tag> | ||