Upload firmware via serial?
-
Hi everyone, is there a way to upload the firmware to the device via serial (kermit or tftp [not sure how to get that setup honestly])? I backed the kickstarter and got the mini dock, oled, and servo expansion, didn't really think I'd need the ethernet expansion as the Onion Omega has wifi.
Anyway, when I was finally able to boot it up for the first time a few nights ago (yea, I've been busy) I was greeted with this:
U-Boot 1.1.4 (Aug 28 2015 - 16:51:26) AP121 (ar9331) U-boot DRAM: 64 MB Top of RAM usable for U-Boot at: 84000000 Reserving 140k for U-Boot at: 83fdc000 Reserving 192k for malloc() at: 83fac000 Reserving 44 Bytes for Board Info at: 83fabfd4 Reserving 36 Bytes for Global Data at: 83fabfb0 Reserving 128k for boot params() at: 83f8bfb0 Stack Pointer at: 83f8bf98 Now running in RAM - U-Boot at: 83fdc000 Flash Manuf Id 0xef, DeviceId0 0x40, DeviceId1 0x18 flash size 16777216, sector count = 256 Flash: 16 MB Using default environment In: serial Out: serial Err: serial Net: ag7240_enet_initialize... No valid address in Flash. Using fixed address No valid address in Flash. Using fixed address : cfg1 0x5 cfg2 0x7114 eth0: 00:03:7f:09:0b:ad eth0 up : cfg1 0xf cfg2 0x7214 eth1: 00:03:7f:09:0b:ad athrs26_reg_init_lan ATHRS26: resetting s26 ATHRS26: s26 reset done eth1 up eth0, eth1 Hit any key to stop autoboot: 0 ## Booting image at 9f300000 ... Image Name: Linux Kernel Image Created: 2015-08-28 8:51:30 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 772146 Bytes = 754 kB Load Address: 80002000 Entry Point: 8019bd60 Verifying Checksum at 0x9f300040 ...OK Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 8019bd60) ... ## Giving linux memsize in bytes, 67108864 Starting kernel ... Booting AR9330(Hornet)... Linux version 2.6.31--LSDK-9.2.0_U11.14 (dingyongtian@localhost.localdomain) (gcc version 4.3.3 (GCC) ) #6 Fri Aug 28 16:51:14 CST 2015 flash_size passed from bootloader = 16 arg 1: console=ttyS0,115200 arg 2: root=31:02 arg 3: rootfstype=squashfs arg 4: init=/sbin/init arg 5: mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),2752k(rootfs),13184k(uImage),64k(NVRAM),64k(ART) arg 6: mem=64M CPU revision is: 00019374 (MIPS 24Kc) Determined physical RAM map: memory: 02000000 @ 00000000 (usable) User-defined physical RAM map: memory: 04000000 @ 00000000 (usable) Zone PFN ranges: Normal 0x00000000 -> 0x00004000 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x00004000 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),2752k(rootfs),13184k(uImage),64k(NVRAM),64k(ART) mem=64M PID hash table entries: 256 (order: 8, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes Writing ErrCtl register=00000000 Readback ErrCtl register=00000000 Memory: 62632k/65536k available (1652k kernel code, 2832k reserved, 420k data, 112k init, 0k highmem) NR_IRQS:128 plat_time_init: plat time init done Calibrating delay loop... 266.24 BogoMIPS (lpj=532480) Mount-cache hash table entries: 512 NET: Registered protocol family 16 ===== ar7240_platform_init: 0 bio: create slab <bio-0> at 0 SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP reno registered NET: Registered protocol family 1 AR7240 GPIOC major 0 squashfs: version 4.0 (2009/01/31) Phillip Lougher msgmni has been set to 122 io scheduler noop registered (default) Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled ttyS0: detected caps 00000000 should be 00000100 serial8250.0: ttyS0 at MMIO 0xb8020000 (irq = 19) is a 16550A console [ttyS0] enabled brd: module loaded 6 cmdlinepart partitions found on MTD device ar7240-nor0 Creating 6 MTD partitions on "ar7240-nor0": 0x000000000000-0x000000040000 : "u-boot" 0x000000040000-0x000000050000 : "u-boot-env" 0x000000050000-0x000000300000 : "rootfs" 0x000000300000-0x000000fe0000 : "uImage" 0x000000fe0000-0x000000ff0000 : "NVRAM" 0x000000ff0000-0x000001000000 : "ART" usbmon: debugfs is not available TCP cubic registered 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> arch/mips/ar7240/gpio.c (ar7240_simple_config_init) AP_RESET_GPIO: 22 arch/mips/ar7240/gpio.c (ar7240_simple_config_init) JUMPSTART_GPIO: 11 ar7240wdt_init: Registering WDT success VFS: Mounted root (squashfs filesystem) readonly on device 31:2. Freeing unused kernel memory: 112k freed init started: BusyBox v1.01 (2015.08.28-08:51+0000) multi-call binary init started: BusyBox v1.01 (2015.08.28-08:51+0000) multi-call binary Starting pid 20, console /dev/ttyS0: '/etc/rc.d/rcS' ATHR_GMAC: Length per segment 1536 ATHR_GMAC: fifo cfg 3 01f00140 ATHR_GMAC: Mac address for unit 0:bf3f0000 ATHR_GMAC: ff:ff:ff:ff:ff:ff ATHR_GMAC: Max segments per packet : 1 ATHR_GMAC: Max tx descriptor count : 40 ATHR_GMAC: Max rx descriptor count : 252 ATHR_GMAC: Mac capability flags : 4403 ATHR_GMAC: Mac address for unit 1:bf3f0006 ATHR_GMAC: ff:ff:ff:ff:ff:ff ATHR_GMAC: Max segments per packet : 1 ATHR_GMAC: Max tx descriptor count : 40 ATHR_GMAC: Max rx descriptor count : 96 ATHR_GMAC: Mac capability flags : 4D83 athr_gmac_ring_alloc Allocated 640 at 0x838cb800 athr_gmac_ring_alloc Allocated 4032 at 0x838a9000 Setting Drop CRC Errors, Pause Frames and Length Error frames Setting PHY... athr_gmac_ring_alloc Allocated 640 at 0x838cb400 athr_gmac_ring_alloc Allocated 1536 at 0x83965000 ATHRS26: resetting s26 ATHRS26: s26 reset done Setting Drop CRC Errors, Pause Frames and Length Error frames Setting PHY... device eth0 entered promiscuous mode device eth1 entered promiscuous mode ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver Port Status 1c000004 ar7240-ehci ar7240-ehci.0: ATH EHCI ar7240-ehci ar7240-ehci.0: new USB bus registered, assigned bus number 1 ehci_reset Intialize USB CONTROLLER in host mode: 3 ehci_reset Port Status 1c000000 ar7240-ehci ar7240-ehci.0: irq 3, io mem 0x1b000000 ehci_reset Intialize USB CONTROLLER in host mode: 3 ehci_reset Port Status 1c000000 ar7240-ehci ar7240-ehci.0: USB 2.0 started, EHCI 1.00 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: ATH EHCI usb usb1: Manufacturer: Linux 2.6.31--LSDK-9.2.0_U11.14 ehci_hcd usb usb1: SerialNumber: platform usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. **** drop_caches_sysctl_handler: all done timer added ...**** Starting pid 218, console /dev/t (none) mips #6 Fri Aug 28 16:51:14 CST 2015 (none) (none) login:
From other topics here it seems like I'm in that group of people who got an Onion Omega with the manufacturer firmware on it instead of the Onion firmware. I've tried to get the firmware onto the Onion Omega by using a USB stick, but I can't mount it (the stick was formatted with FAT, I haven't tried ext2 yet). I was told by @Lazar-Demin that I needed to buy the ethernet expansion card. I can do, and will do if that's my last option, but after backing for $64 I'd really prefer not to shell out another $15 just get a working device.
I have a Pi Model B and an UDOO board as well if I could bridge an ethernet connection or something (which honestly would be pretty cool) similar using other devices. Greatful for any help people can offer.
-
@Jason-Porter Other that using the Ethernet Expansion, you can try to connect the Ethernet data signals from another device directly. There is a little bit of circuit building required as the DC current between the Omega and the other device needs to be decoupled, but users have had success: https://community.onion.io/topic/130/debrick-with-serial/8
-
Made a tutorial for you
https://community.onion.io/topic/702/flashing-your-onion-omega-via-serial
-
@Chris-McCaslin 's tutorial is now on the wiki as well: https://wiki.onion.io/Tutorials/Reflash-the-Firmware-with-Improvised-Ethernet