Thursday, February 16, 2012

Ubiquiti AirCam serial console boot

The price-performance HD camera from Ubiquiti has a serial console where you can access the operating system (Linux). Pins for the console are not present on the PCB so you have to solder them by yourself - it should be an easy task as the pins are 100mils and are located on the edge of PCB. But be careful and remember, you are doing it on your own responsibility! And soldering on PCB definitely voids your warranty.


To cut this story short, the console pins use TTL 3.3V levels so you need an TTL-RS232 signal level converter (Max, Nokia cable, CP2102 USB adapter etc.). The console parameters are 38400-8-none-1. Have fun!

The console output:


MP SPI-NOR Bootstrap v0.2
Boot image offset: 0x6000. Booting Image .....
0567Will set the following freq...
PLL1: 800 MHz, PLL2: 540 MHz, CPU freq: 540 MHz, AHB freq: 270 MHz, DDR freq: 800 MHz
go...


*********************************************
Please input Space to run Linux
Please input ESC to run UBOOT
Please input . to run burn-in
Otherwise, system will run Linux after 5 sec
*********************************************
Load image from SPI-NOR offset 0xa6000 to sdram 0x4000000
Jump 0x4000000




U-Boot 2008.10-svn8779 (Apr 19 2011 - 18:25:15)


DRAM:  128 MB
Manufacturer ID : 0018
Device ID       : 009F
Device Code 2   : 0018
Flash:  0 kB
*** Warning - bad CRC, using default environment


flash no default environment
In:    serial
Out:   serial
Err:   serial
Net:   FTMAC110#0
Reset button is not active.
SF: Got idcode c2 20 17
Hit any key to stop autoboot:  0
## Starting application at 0x04000000 ...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.28 (buildd@builder) (gcc version 4.5.2 (Linaro GCC 4.5-2011.02-0) ) #1 PREEMPT Fri Nov 25 17:54:59 EET 2011
CPU: FA626TE [66056261] revision 1 (ARMv5TE), cr=0000797f
CPU: VIPT aliasing data cache, VIPT aliasing instruction cache
Machine: Faraday GM8126
Warning: bad configuration page, trying to continue
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
Kernel command line: mem=128M console=uart,shift,2,io,0xF9830000,38400 init=/init root=/dev/mtdblock2 rootfstype=squashfs
Early serial console at I/O port 0xf9830000 (options '38400', shift 2)
console [uart0] enabled
PID hash table entries: 512 (order: 9, 2048 bytes)
IC: GM8128 MP
GM Clock: CPU = 540 MHz, AHBCLK = 270 MHz, PLL1CLK = 800 MHz, PLL2CLK = 540 MHz
console handover: boot [uart0] -> real [ttyS0]
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 126904KB available (2442K code, 283K data, 108K init)
Calibrating delay loop... 534.52 BogoMIPS (lpj=267264)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 652 bytes
Fmem: node 0 is online, alloc pages = 20480(active pages = 32768)
high_memory:0xc8000000, VM Start:0xc8800000, End:0xe0000000
NET: Registered protocol family 16
PMU: Mapped at 0xf9900000
pmu_get_cpu_clk:203 <fclk_mode=2, pll2_out=540000000>
Attach GM AHB-DMA Driver
SCSI subsystem initialized
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
Video Timer(timer3) Max 31000ms in 0xf9720840 HZ.
squashfs: version 4.0 (2009/01/31) Phillip Lougher
msgmni has been set to 248
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
probe ftgpio010.0 OK!!, at c8808000
probe ftgpio010.1 OK!!, at c880c000
probe ftgpio010.2 OK!!, at c8810000
Serial: 8250/16550 driver 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0xf9830000 (irq = 9) is a 16550A
serial8250: ttyS1 at I/O 0xf9840000 (irq = 10) is a 16550A
serial8250: ttyS2 at I/O 0xf9880000 (irq = 21) is a 16550A
serial8250: ttyS3 at I/O 0xf9890000 (irq = 22) is a 16550A
brd: module loaded
PPP generic driver version 2.4.2
NET: Registered protocol family 24
Linux video capture interface: v2.00
Driver 'sd' needs updating - please use bus_type methods
Driver 'sr' needs updating - please use bus_type methods
Creating 5 MTD partitions on "wb_spi_flash":
0x00000000-0x000e0000 : "boot"
0x000e0000-0x00200000 : "kernel"
0x00200000-0x007b0000 : "rootfs"
0x007b0000-0x007f0000 : "cfg"
0x007f0000-0x00800000 : "eeprom"
Probe FTSSP010 SPI Controller at 0x98200000 (irq 6)
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
ftiic010 ftiic010.0: irq 18, mapped at c8818000
Advanced Linux Sound Architecture Driver Version 1.0.18rc3.
ALSA device list:
  No soundcards found.
TCP cubic registered
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver
sit0: Disabled Privacy Extensions
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly.
Freeing init memory: 108K
Please be patient, while OpenWrt loads ...
...mounts done
...filesystem init done
...base ok
...update ok
...symlinks ok
...httpd ok
...detect ok
...video ok
...running /sbin/init
init started: BusyBox v1.18.4 (2011-11-25 17:48:51 EET)




Please press Enter to activate this console.