Show pagesourceOld revisionsBacklinksBack to top × Table of Contents ALFA Network AP121F Getting started with a new Device Page Keep the articles modular Supported Versions Hardware Highlights Installation Flash Layout OEM easy installation Recovery through u-boot Upgrading OpenWrt Debricking Failsafe mode Basic configuration Specific Configuration Network interfaces Switch Ports (for VLANs) Buttons Hardware Info Photos Opening the case Serial JTAG Bootloader mods Hardware mods USB device Pinouts Bootlogs OpenWrt bootlog Notes Tags ALFA Network AP121F Under Construction! This page is currently under construction. You can edit the article to help completing it. Write a short, relevant description of the device. Include a technical overview, but avoid marketing buzzwords/useless stuff. Two to four sentences is about right. A picture is good, too. Edit the page to see how to add pictures. Any text with a light background (like this one) provides instructions for creating the Details Page. When you have filled in correct/useful information (instead of any template that's there) remove the instructions, as well as the <WRAP> that encloses it. Getting started with a new Device Page This is an empty template that suggests the information that should be present on a well-constructed Device Page. This means, that you have to fill it with life and information. There are several “fixme” tags with text on a light background (like this text) throughout this template. As you fill in the page, remove those tags so that people can judge its completeness. When there are no more “fixme” tags left, delete this one too, along with the <WRAP> that encloses it. Keep the articles modular Please include only model specific information, omit bla,bla and put everything generic into separate articles If you have no time to write certain stuff, link to docs base-system should lead the way, do not explain this again DO NOT provide a complete howto here! Instead groom the general documentation. Supported Versions BrandModelVersionCurrent ReleaseOEM InfoForum TopicTechnical DataALFA NetworkAP121F22.03.5View/Edit data Hardware Highlights ModelVersionSoCCPU MHzFlash MBRAM MBWLAN HardwareWLAN2.4WLAN5.0100M portsGbit portsModemUSBAP121FAtheros AR93314001664Atheros AR9331b/g/n-1-- Installation ModelVersionCurrent ReleaseFirmware OpenWrt InstallFirmware OpenWrt UpgradeFirmware OEM StockAP121F22.03.5https://downloads.openwrt.org/releases/22.03.5/targets/ath79/generic/openwrt-22.03.5-ath79-generic-alfa-network_ap121f-squashfs-sysupgrade.bin → Install OpenWrt (generic explanation) Please add the installation procedure here. Flash Layout Find out flash layout, then add the flash layout table here (copy, paste, modify the example). Please check out the article Flash layout. It contains examples and explanations that describe how to document the flash layout. OEM easy installation The instructions below are for Broadcom devices and only serve as an example. Remove / modify them if they do not apply to this particular device! This section deals with How you install OpenWrt from a device freshly opened The steps required such as reset to factory defaults if the device has already been configured Note: Reset router to factory defaults if it has been previously configured. Browse to http://192.168.1.1/Upgrade.asp Upload .bin file to router Wait for it to reboot Telnet to 192.168.1.1 and set a root password, or browse to http://192.168.1.1 if LuCI is installed. Recovery through u-boot When pressing the reset button once the device is booted, the device will reboot and the following will appear on the serial port: FACTORY RESET [ 24.492067] Removing MTD device #6 (rootfs_data) with use count 1 [ 24.513863] reboot: Re� If we keep pressing it, during boot, we have the following appearing on the serial port: *************************************** * U-Boot 1.1.4-cd95c190-dirty * * Build: 2017-03-17 * *************************************** ** Warning: bad env CRC, using default, use 'saveenv' to save it in FLASH BOARD: ALFA NETWORK AP121F SOC: AR9330 rev. 1 CPU: MIPS 24Kc RAM: 64 MB DDR1 16-bit CL3-3-3-8 FLASH: 16 MB Macronix MX25L128 MAC: 00:03:7F:09:0B:AD (fixed) CLOCKS: CPU/RAM/AHB/SPI/REF 400/400/200/ 20/ 25 MHz Keep button pressed for at least: - 3s for web based recovery - 5s for U-Boot console - 7s for network console If we wait 3 seconds, before releasing the button we have: . . . . 4 seconds HTTP server is starting for firmware update... Ethernet mode (duplex/speed): 1/100 Mbps HTTP server is starting at IP: 192.168.1.1 HTTP server is ready! Upgrading OpenWrt → See generic.sysupgrade for more information on that. Debricking → generic.debrick Failsafe mode → failsafe_and_factory_reset Basic configuration → Basic configuration After flashing, proceed with this. Set up your Internet connection, configure wireless, configure USB port, etc. Specific Configuration Please fill in real values for this device, then remove the EXAMPLEs Network interfaces The default network configuration is: Interface Name Description Default configuration br-lan EXAMPLE LAN & WiFi EXAMPLE 192.168.1.1/24 vlan0 (eth0.0) EXAMPLE LAN ports (1 to 4) EXAMPLE None vlan1 (eth0.1) EXAMPLE WAN port EXAMPLE DHCP wl0 EXAMPLE WiFi EXAMPLE Disabled Switch Ports (for VLANs) Please fill in real values for this device, then remove the EXAMPLEs Numbers 0-3 are Ports 1-4 as labeled on the unit, number 4 is the Internet (WAN) on the unit, 5 is the internal connection to the router itself. Don't be fooled: Port 1 on the unit is number 3 when configuring VLANs. vlan0 = eth0.0, vlan1 = eth0.1 and so on. Port Switch port Internet (WAN) EXAMPLE 4 LAN 1 EXAMPLE 3 LAN 2 EXAMPLE 2 LAN 3 EXAMPLE 1 LAN 4 EXAMPLE 0 Buttons → hardware.button on howto use and configure the hardware button(s). Here, we merely name the buttons, so we can use them in the above Howto. Please fill in real values for this device, then remove the EXAMPLEs The ALFA Network AP121F has the following buttons: BUTTON Event EXAMPLE Reset reset EXAMPLE Secure Easy Setup ses EXAMPLE No buttons at all. - Hardware Info General Brand ALFA Network Model AP121F Versions Device Type WiFi Router Availability Discontinued Comments - general OpenWrt Support Supported Since Commit https://git.lede-project.org/?p=source.git;a=commit;h=0c6165d21ad274261bf8176828e122964e25c215 Supported Since Release 17.01.3 Supported Current Release 22.03.5 Unsupported Hardware Bootloader U-Boot Target ar71xx-ath79 System-On-Chip CPU MHz 400 Flash MB 16 RAM MB 64 Network Ethernet 100M ports 1 Ethernet 1Gbit ports Switch Atheros AR9331 Modem - VLAN Yes Comments - network ports Wireless WLAN 2.4GHz b/g/n WLAN 5.0GHz - WLAN Hardware Atheros AR9331 Detachable Antennas 1 Comments - WLAN Interfaces USB ports - SATA ports - Serial Yes JTAG ¿ Comments - USB & SATA ports Misc LED count 3 Button count 2 Power supply ¿ Links Forum Topic URL WikiDevi URL OEM device homepage URL Firmware OEM Stock URL Firmware OpenWrt Install URL Firmware OpenWrt Upgrade URL https://downloads.openwrt.org/releases/22.03.5/targets/ath79/generic/openwrt-22.03.5-ath79-generic-alfa-network_ap121f-squashfs-sysupgrade.bin Edit the underlying data View/Edit data Photos Front: Insert photo of front of the casing Back: Insert photo of back of the casing Backside label: Insert photo of backside label Opening the case Note: This will void your warranty! Describe what needs to be done to open the device, e.g. remove rubber feet, adhesive labels, screws, ... To remove the cover and open the device, do a/b/c Main PCB: Insert photo of PCB Serial → See port.serial general information about the serial port, serial port cable, etc. On the PCB, there is a 4 pad with solder on them on the top-upper-right of the PCB. At least TX is available on it. We have: [GND] [TX] [RX] [VCC?] To get RX working I had to connect to the other side of R11. Serial connection parameters for ALFA Network AP121F 115200, 8N1 JTAG → port.jtag general information about the JTAG port, JTAG cable, etc. How to connect to the JTAG Port of this specific device: Insert photo of PCB with markings for JTAG port Bootloader mods → bootloader Hardware mods USB device It's possible to add support for USB device by connecting D+ and D- to the USB connector wires as seen on a picture in the pull request to add the ALFA Network AP121F Pinouts There is a connector on the middle of the bottom of the top pcb: [VCC?][D+][D-][GND][?][VCC?] For the serial connector: [GND] [TX] [RX] [VCC?] TX↔R12↔? “RX”↔R11↔SOC_RX Bootlogs OpenWrt bootlog *************************************** * U-Boot 1.1.4-cd95c190-dirty * * Build: 2017-03-17 * *************************************** ** Warning: bad env CRC, using default, use 'saveenv' to save it in FLASH BOARD: ALFA NETWORK AP121F SOC: AR9330 rev. 1 CPU: MIPS 24Kc RAM: 64 MB DDR1 16-bit CL3-3-3-8 FLASH: 16 MB Macronix MX25L128 MAC: 00:03:7F:09:0B:AD (fixed) CLOCKS: CPU/RAM/AHB/SPI/REF 400/400/200/ 25/ 25 MHz Keep button pressed for at least: - 3s for web based recovery - 5s for U-Boot console - 7s for network console 0 seconds ## Error: button was not pressed long enough! Continuing normal boot... Hit any key to stop booting: 0 Booting image from 0x9F050000... Image name: MIPS OpenWrt Linux-4.9.184 Build date: 2019-06-27 12:18:52 UTC Architecture: MIPS OS/image type: Linux Kernel Compression: LZMA Data size: 1.3 MB (1378039 bytes) Load address: 0x80060000 Entry point: 0x80060000 Header CRC... OK! Data CRC... skipped Stopping network... OK! Uncompressing Kernel... OK! Starting kernel... [ 0.000000] Linux version 4.9.184 (buildbot@2ccc8102e0c3) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7808-ef686b7292) ) #0 Thu Jun 27 12:18:52 2019 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc) [ 0.000000] SoC: Atheros AR9330 rev 1 [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 04000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: board=AP121F mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env),64k(art)ro,-(firmware) console=ttyATH0,115200 rootfstype=squashfs noinitrd [ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes) [ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Writing ErrCtl register=00000000 [ 0.000000] Readback ErrCtl register=00000000 [ 0.000000] Memory: 59964K/65536K available (3393K kernel code, 178K rwdata, 448K rodata, 324K init, 211K bss, 5572K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:51 [ 0.000000] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:25.000MHz [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302233 ns [ 0.000014] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 10737418237ns [ 0.007922] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104) [ 0.089146] pid_max: default: 32768 minimum: 301 [ 0.093930] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.100385] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.111462] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.119861] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.127810] NET: Registered protocol family 16 [ 0.132898] MIPS: machine is ALFA Network AP121F [ 0.437347] clocksource: Switched to clocksource MIPS [ 0.442440] NET: Registered protocol family 2 [ 0.446772] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.452361] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.458707] TCP: Hash tables configured (established 1024 bind 1024) [ 0.465156] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.470898] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.477477] NET: Registered protocol family 1 [ 0.486930] Crashlog allocated RAM at address 0x3f00000 [ 0.492373] workingset: timestamp_bits=30 max_order=14 bucket_order=0 [ 0.507777] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.512160] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.535185] io scheduler noop registered [ 0.537725] io scheduler deadline registered (default) [ 0.543353] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.553123] ar933x-uart: ttyATH0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a AR933X UART [ 0.561292] console [ttyATH0] enabled [ 0.561292] console [ttyATH0] enabled [ 0.568122] bootconsole [early0] disabled [ 0.568122] bootconsole [early0] disabled [ 0.584242] m25p80 spi0.0: found mx25l12805d, expected m25p80 [ 0.589379] m25p80 spi0.0: mx25l12805d (16384 Kbytes) [ 0.593607] 4 cmdlinepart partitions found on MTD device spi0.0 [ 0.599530] Creating 4 MTD partitions on "spi0.0": [ 0.604271] 0x000000000000-0x000000030000 : "u-boot" [ 0.611995] 0x000000030000-0x000000040000 : "u-boot-env" [ 0.618805] 0x000000040000-0x000000050000 : "art" [ 0.624936] 0x000000050000-0x000001000000 : "firmware" [ 0.651403] 2 uimage-fw partitions found on MTD device firmware [ 0.655889] 0x000000050000-0x0000001b0000 : "kernel" [ 0.662887] 0x0000001b0000-0x000001000000 : "rootfs" [ 0.668877] mtd: device 5 (rootfs) set to be root filesystem [ 0.673125] 1 squashfs-split partitions found on MTD device rootfs [ 0.679343] 0x000000410000-0x000001000000 : "rootfs_data" [ 0.689230] libphy: Fixed MDIO Bus: probed [ 0.712106] libphy: ag71xx_mdio: probed [ 1.339066] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY] [ 1.347804] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII [ 1.355184] NET: Registered protocol family 10 [ 1.363471] NET: Registered protocol family 17 [ 1.366531] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 1.379640] 8021q: 802.1Q VLAN Support v1.8 [ 1.386049] hctosys: unable to open rtc device (rtc0) [ 1.396325] VFS: Mounted root (squashfs filesystem) readonly on device 31:5. [ 1.404501] Freeing unused kernel memory: 324K [ 1.407524] This architecture does not have kernel memory protection. [ 2.318241] init: Console is alive [ 2.320475] init: - watchdog - [ 2.537366] random: fast init done [ 3.727564] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 3.817657] usbcore: registered new interface driver usbfs [ 3.821806] usbcore: registered new interface driver hub [ 3.827116] usbcore: registered new device driver usb [ 3.839743] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 3.855529] SCSI subsystem initialized [ 3.864417] ehci-platform: EHCI generic platform driver [ 3.868391] ehci-platform ehci-platform: EHCI Host Controller [ 3.873979] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1 [ 3.883973] ehci-platform ehci-platform: irq 3, io mem 0x1b000000 [ 3.917405] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00 [ 3.923543] hub 1-0:1.0: USB hub found [ 3.926381] hub 1-0:1.0: 1 port detected [ 3.935966] usbcore: registered new interface driver usb-storage [ 3.941397] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 3.958417] init: - preinit - [ 4.955780] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 4.989149] random: procd: uninitialized urandom read (4 bytes read) Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level [ 7.048832] eth0: link up (100Mbps/Full duplex) [ 7.051946] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready - failsafe button reset was pressed - - failsafe - [ 8.355020] random: dropbearkey: uninitialized urandom read (32 bytes read) Generating key, th[ 8.362463] random: dropbearkey: uninitialized urandom read (32 bytes read) is may take a while... [ 9.583749] random: dropbearkey: uninitialized urandom read (32 bytes read) Public key portion is: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQD3YSN2kXRtFCypccpPeg726xoOM+OYW[ 9.602485] random: dropbear: uninitialized urandom read (32 bytes read) +iNtYupNZkjq4M5ULFlyubqGYncf+kkKROQCrm0OoL+1fBnQJBcoFk5W8xfqo9n29gciQneVnjW5Nv2oMNBHmO4CuJDoR478dbOThJmrbShUy7+uGR2/4b0GK3Yf7xDzkyZSfNjtsvL8w== root@(none) Fingerprint: sha1!! 39:67:10:6f:ba:2d:7e:2a:59:a1:ac:77:dd:1e:a0:d8:25:b2:e8:0d BusyBox v1.28.4 () built-in shell (ash) ash: can't access tty; job control turned off _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt 18.06.4, r7808-ef686b7292 ----------------------------------------------------- ================= FAILSAFE MODE active ================ special commands: * firstboot reset settings to factory defaults * mount_root mount root-partition with config files after mount_root: * passwd change root's password * /etc/config directory with config files for more help see: https://openwrt.org/docs/guide-user/troubleshooting/ - failsafe_and_factory_reset - root_password_reset ======================================================= root@(none):/# *************************************** U-boot environment: u-boot> printenv bootargs=console=ttyS0,115200 root=31:03 rootfstype=squashfs,jffs2 init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(ART),1280k(kernel),14720k(rootfs),64k(config) bootcmd=bootm 0x9F050000 || bootm 0x9FE50000 || bootm 0x9F650000 bootdelay=1 baudrate=115200 ipaddr=192.168.1.1 serverip=192.168.1.2 autoload=no hostname=u-boot_alfa-ap121f bootfile=firmware.bin loadaddr=0x80800000 ncport=6666 uboot_name=u-boot.bin uboot_addr=0x9F000000 uboot_size=0x40000 uboot_upg=if ping $serverip; then tftp $loadaddr $uboot_name && if itest.l $filesize <= $uboot_size; then erase $uboot_addr +$uboot_size && cp.b $loadaddr $uboot_addr $uboot_size && echo DONE! U-Boot upgraded!; else echo ERROR! File is too big!; fi; else echo ERROR! $serverip is not reachable!; fi fw_addr=0x9F050000 fw_upg=if ping $serverip; then tftp $loadaddr $bootfile && erase $fw_addr +$filesize && cp.b $loadaddr $fw_addr $filesize && echo DONE! Firmware upgraded!; else echo ERROR! $serverip is not reachable!; fi recovery=if button; then sleep 600;setenv cnt 0;echo Keep button pressed for at least:;echo - 3s for web based recovery;echo - 5s for U-Boot console;echo - 7s for network console;echo;while button; do ledon;sleep 300;echo . '\\c';sleep 300;ledoff;sleep 600;setexpr cnt $cnt + 1;done;echo $cnt seconds;echo;if test $cnt -ge 7; then echo Starting network console...;setenv stop_boot 1;echo;startnc;elif test $cnt -ge 5; then echo Starting U-Boot console...;setenv stop_boot 1;echo;elif test $cnt -ge 3; then echo HTTP server is starting for firmware update...;setenv stop_boot 1;echo;httpd;elif test $cnt -lt 3; then echo \#\# Error: button was not pressed long enough!;echo Continuing normal boot...;echo;fi;fi stdin=serial stdout=serial stderr=serial ethaddr=00:03:7F:09:0B:AD ethact=eth0 cnt=5 stop_boot=1 Environment size: 1784/32764 bytes Notes Space for additional notes, links to forum threads or other resources. ... Tags Add tags below, then remove this fixme. How to add tags EXAMPLETAG This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.OKMore information about cookies EXAMPLETAG Last modified: 2021/08/29 10:19by tmomas