Ubiquiti LiteBeam M5

Unsuccessful Procedure

  1. Flashing via ubnt GUI: failed to accept any FW lower than XW.v6.1.3. “Firmware image check failed. Error code: 43”
  2. Flashing via SSH: using ubnt fwupdate.real command failed to accept any FW lower than XW.v6.1.3
  3. Flashing via TFTP: did accept FW lower than XW.v6.1.3 but with “Initialization Error A12”.

Successful Procedure

I installed the “cs” custom scripts versions of AirOS in this order

  1. via AirOS GUI or SSH: Downgrade from XWv6.1.7 to XWv6.1.4
  2. using TFTP downgrade to XW.v6.1.3
  3. then OpenWrt 19.07.x factory (this process must be done via TFTP).

https://community.ui.com/questions/airOS-5-6-with-Custom-Script-Support-/4bd71c6b-7e9c-43ee-9d9d-666a7a9708fd

https://forum.openwrt.org/t/installation-of-openwrt-on-litebeam-m5/46607

FIXME 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.

First, you need to put LiteBeam M5 into TFTP server mode. Turn on LiteBeam M5 and keep the reset button pressed for 20 seconds until LEDs light start flashing differently. When you see that odd and even wifi signal LEDs start turning on and off, you have successfully put LiteBeam M5 in TFTP server mode.

You need a TFTP client that will send the file to LiteBeam M5. A Simple Windows GUI TFTP Utility (tftp2) can be used.

Now you can send image from your PC to LiteBeam M5 using command prompt. The server is running on 192.168.1.20 address by default.


If you are running Linux on your PC here is how you can send firmware image to LiteBeam M5:

ifconfig eth0 192.168.1.254
cp  openwrt-ar71xx-generic-ubnt-litebeam-m-squashfs-factory.bin code.bin
echo -e "binary\nrexmt 1\ntimeout 60\ntrace\nput code.bin flash_update\n" | tftp 192.168.1.20

generic.sysupgrade

FIXME These are generic instructions. Update with your router's specifics.

  • Browse to http://192.168.1.1/cgi-bin/luci/mini/system/upgrade/ LuCI Upgrade URL
  • Upload image file for sysupgrade to LuCI
  • Wait for reboot

If you don't have a GUI (LuCI) available, you can alternatively upgrade via the command line. There are two command line methods for upgrading:

  • sysupgrade
  • mtd

Note: It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.

sysupgrade

  • Login as root via SSH on 192.168.1.1, then enter the following commands:
cd /tmp
wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc
sysupgrade /tmp/xxx.abc

mtd

If sysupgrade does not support this router, use mtd.

  • Login as root via SSH on 192.168.1.1, then enter the following commands:
cd /tmp
wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc
mtd write /tmp/xxx.abc linux && reboot

Requirements:

  • 1 USB-TTL Cable
  • 2 Ethernet Cables
  • 1 POE Converter
  • 1 Bricked Device
  • 1 TFTP Server Application (Example: Solar Winds)
  • 1 AirOS v6.1.7 Firmware File
  • Tera-term or another Serial Port program

The following is the Procedure to unbrick the device:

  1. Open up the device and locate the serial jumper, labeled J1.
  2. Connect the USB-TTL Cable to the jumper, which has the following pinout:
    • 1 3.3V+ (Red: Do not connect)
    • 2 S-in (GREEN)
    • 3 S-out (White)
    • 4 GND(Black)
  3. Open up a terminal program, such as tera-term, and configure it to the following settings:
    • Bits per second: 115200
    • Data Bits : 8
    • Stop Bits : 1
    • Parity : None
    • Flow control : None
  4. Plug the POE adapter into the wall.
  5. Plug the LAN side of the device into your PC.
  6. Configure your PC IP settings to the following:
    • IP Address: 192.168.1.123
    • Netmask : 255.255.0.0
  7. Connect the POE side of the POE adapter into the Litebeam M5 (or any other AirMax device).
  8. Continually press any key while the tera-term window is selected. Doing this will interrupt the boot sequence and allow you to enter terminals while the device is in the bootloader.
  9. Once the boot has been stopped, enter the following into the terminal:
    urescue -f -e

    It is vital that the -f and -e are there. This allows the bootloader to be over written.

  10. Now start the TFTP application on your PC.
  11. Open a command prompt on your PC and use the cd command to navigate to the location of your AirOS v5.5.10 firmware file.
  12. Type the following command in the command prompt:
    tftp -i 192.168.1.20 put XM.v5.5.10.24241.141001.1649.bin
  13. You should now see text being written in the terminal screen.
  14. Keep watching the text until it says the device is resetting. When it does reset, continually press any key to interrupt the boot.
  15. When the boot has been interrupted, type the following in the serial console, pressing enter after each line:
    mtdparts default
     
    saveenv
     
    boot
  16. The device will now boot. Wait about 2 minutes, and then access the webpage of AirOS by typing 192.168.1.20 in the web address bar.
  17. Login to the page and navigate to the system tab. Upload the same firmware version, AirOS v5.5.10, that you used in the urescue command.
  18. Once the device reboots you will have a non-bricked, perfectly functional, wireless device.

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

FIXME Please fill in real values for this device, then remove the EXAMPLEs

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

Front:
Insert photo of front of the casing

Back:
Insert photo of back of the casing

Backside label:
Insert photo of backside label

Note: This will void your warranty!

FIXME 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

port.serial general information about the serial port, serial port cable, etc.

How to connect to the Serial Port of this specific device:
Insert photo of PCB with markings for serial port

FIXME Replace EXAMPLE by real values.

Serial connection parameters
for Ubiquiti LiteBeam M5
EXAMPLE 115200, 8N1

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

U-Boot 1.1.4-gb02ecccc (Feb 14 2020 - 10:53:11) DRAM: 64 MB Flash: 8 MB (0xc2, 0x20, 0x17) Net: AR8032 Detected eth0, eth1 Board: Ubiquiti Networks AR9342 board (e865-95242.1123.0030) Radio: 0777:e865 Reset: Normal Hit any key to stop autoboot: 0 ar7240> boot ## Booting image at 9f050000 ... Image Name: MIPS Ubiquiti Linux-2.6.32.71 Created: 2020-07-15 13:28:25 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 979899 Bytes = 956.9 kB Load Address: 80002000 Entry Point: 80002000 Verifying Checksum at 0x9f050040 ...OK Uncompressing Kernel Image ... OK Starting kernel ... Booting Atheros AR934x


[ 0.000000] Linux version 4.14.215 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11278-8055e38794)) #0 Tue Jan 19 13:10:02 2021 [ 0.000000] MyLoader: sysp=a5a5a5a5, boardp=a5a5a5a5, parts=a5a5a5a5 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 0001974c (MIPS 74Kc) [ 0.000000] SoC: Atheros AR9342 rev 3 [ 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] On node 0 totalpages: 16384 [ 0.000000] free_area_init_node: node 0, pgdat 804ecd50, node_mem_map 81000020 [ 0.000000] Normal zone: 128 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 16384 pages, LIFO batch:3 [ 0.000000] random: get_random_bytes called from 0x804f0740 with crng_init=0 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=132768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: board=UBNT-LBE-M5 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7552k(firmware),256k(cfg)ro,64k(EEPROM)ro console=ttyS0,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: 59320K/65536K available (3955K kernel code, 192K rwdata, 516K rodata, 320K init, 212K bss, 6216K 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:535.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:40.000MHz [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7144898866 ns [ 0.000010] sched_clock: 32 bits at 267MHz, resolution 3ns, wraps every 8027976190ns [ 0.008345] Calibrating delay loop... 266.64 BogoMIPS (lpj=1333248) [ 0.094964] pid_max: default: 32768 minimum: 301 [ 0.100117] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.107187] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.117351] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.127858] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.135772] NET: Registered protocol family 16 [ 0.142249] MIPS: machine is Ubiquiti Litebeam M5 [ 0.408774] clocksource: Switched to clocksource MIPS [ 0.415468] NET: Registered protocol family 2 [ 0.421194] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.428624] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.435468] TCP: Hash tables configured (established 1024 bind 1024) [ 0.442412] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.448652] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.455686] NET: Registered protocol family 1 [ 0.460411] PCI: CLS 0 bytes, default 32 [ 0.463991] Crashlog allocated RAM at address 0x3f00000 [ 0.471232] workingset: timestamp_bits=30 max_order=14 bucket_order=0 [ 0.484030] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.490302] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.512656] io scheduler noop registered [ 0.516837] io scheduler deadline registered (default) [ 0.522881] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.532083] console [ttyS0] disabled [ 0.556014] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 2500000) is a 16550A [ 0.565222] console [ttyS0] enabled [ 0.572657] bootconsole [early0] disabled [ 0.589953] m25p80 spi0.0: found mx25l6405d, expected m25p80 [ 0.601307] m25p80 spi0.0: mx25l6405d (8192 Kbytes) [ 0.606301] 5 cmdlinepart partitions found on MTD device spi0.0 [ 0.612342] Creating 5 MTD partitions on "spi0.0": [ 0.617220] 0x000000000000-0x000000040000 : "u-boot" [ 0.624317] 0x000000040000-0x000000050000 : "u-boot-env" [ 0.631394] 0x000000050000-0x0000007b0000 : "firmware" [ 0.648160] 2 uimage-fw partitions found on MTD device firmware [ 0.654235] 0x000000050000-0x0000001e0000 : "kernel" [ 0.660148] 0x0000001e0000-0x0000007b0000 : "rootfs" [ 0.666007] mtd: device 4 (rootfs) set to be root filesystem [ 0.671861] 1 squashfs-split partitions found on MTD device rootfs [ 0.678150] 0x000000450000-0x0000007b0000 : "rootfs_data" [ 0.687041] 0x0000007b0000-0x0000007f0000 : "cfg" [ 0.693467] 0x0000007f0000-0x000000800000 : "EEPROM" [ 0.702188] libphy: Fixed MDIO Bus: probed [ 0.719862] libphy: ag71xx_mdio: probed [ 1.449288] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:01 [uid=004dd023, driver=Atheros 8032 ethernet] [ 1.460160] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: mii [ 1.468389] NET: Registered protocol family 10 [ 1.478447] Segment Routing with IPv6 [ 1.482368] NET: Registered protocol family 17 [ 1.486939] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 1.500760] 8021q: 802.1Q VLAN Support v1.8 [ 1.506973] hctosys: unable to open rtc device (rtc0) [ 1.517545] VFS: Mounted root (squashfs filesystem) readonly on device 31:4. [ 1.526882] Freeing unused kernel memory: 320K [ 1.531435] This architecture does not have kernel memory protection. [ 2.312704] init: Console is alive [ 2.316432] init: - watchdog - [ 2.535300] random: fast init done [ 3.492541] kmodloader: loading kernel modules from /etc/modules-boot.d/ [ 3.566875] usbcore: registered new interface driver usbfs [ 3.572622] usbcore: registered new interface driver hub [ 3.578110] usbcore: registered new device driver usb [ 3.589624] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 3.598263] ehci-platform: EHCI generic platform driver [ 3.604398] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 3.622340] init: - preinit - [ 4.302014] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 4.333784] random: procd: uninitialized urandom read (4 bytes read) [ 6.480433] eth0: link up (100Mbps/Full duplex) [ 6.485078] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 7.676063] jffs2: notice: (406) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked, 1 orphan) and 1 of xref (1 dead, 0 orphan) found. [ 7.693248] mount_root: switching to jffs2 overlay [ 7.728358] overlayfs: upper fs does not support tmpfile. [ 7.740469] urandom-seed: Seeding with /etc/urandom.seed [ 7.942677] eth0: link down [ 7.960380] procd: - early - [ 7.963449] procd: - watchdog - [ 8.625606] procd: - watchdog - [ 8.629267] procd: - ubus - [ 8.745366] random: ubusd: uninitialized urandom read (4 bytes read) [ 8.807495] random: ubusd: uninitialized urandom read (4 bytes read) [ 8.814583] random: ubusd: uninitialized urandom read (4 bytes read) [ 8.822269] procd: - init - [ 9.638225] kmodloader: loading kernel modules from /etc/modules.d/* [ 9.775736] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 9.798389] Loading modules backported from Linux version v4.19.161-0-gdaefdc9eb24b [ 9.806256] Backport generated by backports.git v4.19.161-1-0-g4bb568fe [ 9.841577] ip_tables: (C) 2000-2006 Netfilter Core Team [ 9.868543] nf_conntrack version 0.5.0 (1024 buckets, 4096 max) [ 10.012603] xt_time: kernel timezone is -0000 [ 10.060537] urngd: v1.0.2 started. [ 10.154968] PPP generic driver version 2.4.2 [ 10.169896] NET: Registered protocol family 24 [ 10.252787] ath: EEPROM regdomain: 0x2a [ 10.252798] ath: EEPROM indicates we should expect a direct regpair map [ 10.252819] ath: Country alpha2 being used: US [ 10.252824] ath: Regpair used: 0x2a [ 10.267751] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 10.270189] ieee80211 phy0: Atheros AR9340 Rev:3 mem=0xb8100000, irq=47 [ 10.419266] kmodloader: done loading kernel modules from /etc/modules.d/* [ 10.571453] random: crng init done [ 10.574927] random: 6 urandom warning(s) missed due to ratelimiting [ 24.999245] br-lan: port 1(eth0) entered blocking state [ 25.004569] br-lan: port 1(eth0) entered disabled state [ 25.010275] device eth0 entered promiscuous mode [ 25.045451] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 28.180161] eth0: link up (100Mbps/Full duplex) [ 28.184833] br-lan: port 1(eth0) entered blocking state [ 28.190193] br-lan: port 1(eth0) entered forwarding state [ 28.198120] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready


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.More information about cookies
  • Last modified: 2024/02/12 11:13
  • by 127.0.0.1