8devices Carambola

This device is NOT RECOMMENDED for future use with OpenWrt due to low flash/ram.
DO NOT BUY DEVICES WITH 4MB FLASH / 32MB RAM if you intend to flash an up-to-date and secure OpenWrt version onto it! See 4/32 warning for details.

1) This device does not have sufficient resources (flash and/or RAM) to provide secure and reliable operation.
This means that even setting a password or changing simple network settings might not be possible any more, rendering the device effectively useless. See OpenWrt on 4/32 devices what you can do now.

2) OpenWrt support for this device has ended in 2022.
19.07.10 was the last official build for 4/32 devices.

This device comes pre-installed with a custom version of OpenWrt.

Related devices: → freestation

FIXME Please add the installation procedure here.

root@OpenWrt:/# cat /proc/mtd

dev:    size   erasesize  name
mtd0: 00030000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00010000 00010000 "factory"
mtd3: 000e0000 00010000 "kernel"
mtd4: 006d0000 00010000 "rootfs"
mtd5: 004e0000 00010000 "rootfs_data"
mtd6: 007b0000 00010000 "firmware"

LuCI Web Upgrade Process

Terminal Upgrade Process

  • Login as root via SSH on 192.168.1.1
  • Use the following commands to upgrade.
cd /tmp/
wget http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/openwrt-ramips-rt305x-carambola-squashfs-sysupgrade.bin
sysupgrade /tmp/openwrt-ramips-rt305x-carambola-squashfs-sysupgrade.bin
  • If sysupgrade does not support this router, use the following commands.
cd /tmp/
wget http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/openwrt-ramips-rt305x-carambola-squashfs-sysupgrade.bin
mtd write /tmp/openwrt-ramips-rt305x-carambola-squashfs-sysupgrade.bin firmware && reboot

U-Boot 1.1.3 (Nov 3 2009 - 15:19:34) Board: Ralink APSoC DRAM: 32 MB relocate_code Pointer at: 81fb0000 flash_protect ON: from 0xBF000000 to 0xBF01D4A3 flash_protect ON: from 0xBF030000 to 0xBF030FFF *** Warning - bad CRC, using default environment ============================================ Ralink UBoot Version: 3.3 -------------------------------------------- ASIC 3052_MP2 (Port5<->None) DRAM component: 256 Mbits SDR DRAM bus: 16 bit Total memory: 32 MBytes Flash component: 8 MBytes NOR Flash Date:Nov 3 2009 Time:15:19:34 ============================================ icache: sets:256, ways:4, linesz:32 ,total:32768 dcache: sets:128, ways:4, linesz:32 ,total:16384 ##### 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. 0 3: System Boot system code via Flash. ## Booting image at bf050000 ... Image Name: MIPS OpenWrt Linux-3.10.18 Created: 2013-11-24 19:45:33 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 1014182 Bytes = 990.4 kB Load Address: 80000000 Entry Point: 80000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 80000000) ... ## Giving linux memsize in MB, 32 Starting kernel ... [ 0.000000] Linux version 3.10.18 (openwrt@snapon) (gcc version 4.6.4 (OpenWrt/Linaro GCC 4.6-2013.05 r38899) ) #1 Sun Nov 24 11:45:05 PST 2013 [ 0.000000] SoC Type: Ralink RT3350 id:1 rev:2 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU revision is: 0001964c (MIPS 24KEc) [ 0.000000] MIPS: machine is 8devices Carambola [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 02000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x01ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x01ffffff] [ 0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 [ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Writing ErrCtl register=0003e000 [ 0.000000] Readback ErrCtl register=0003e000 [ 0.000000] Memory: 29224k/32768k available (2240k kernel code, 3544k reserved, 546k data, 220k init, 0k highmem) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:128 [ 0.000000] CPU Clock: 320MHz [ 0.000000] Calibrating delay loop... 212.58 BogoMIPS (lpj=1062912) [ 0.080000] pid_max: default: 32768 minimum: 301 [ 0.080000] Mount-cache hash table entries: 512 [ 0.090000] pinctrl core: initialized pinctrl subsystem [ 0.100000] NET: Registered protocol family 16 [ 0.150000] bio: create slab <bio-0> at 0 [ 0.150000] rt2880_gpio 10000600.gpio: registering 24 gpios [ 0.160000] rt2880_gpio 10000600.gpio: registering 24 irq handlers [ 0.170000] Switching to clocksource MIPS [ 0.180000] NET: Registered protocol family 2 [ 0.180000] TCP established hash table entries: 512 (order: 0, 4096 bytes) [ 0.190000] TCP bind hash table entries: 512 (order: -1, 2048 bytes) [ 0.190000] TCP: Hash tables configured (established 512 bind 512) [ 0.200000] TCP: reno registered [ 0.200000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.210000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.220000] NET: Registered protocol family 1 [ 0.220000] rt-timer 10000100.timer: maximum frequncy is 6510Hz [ 0.270000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.280000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.290000] msgmni has been set to 57 [ 0.300000] io scheduler noop registered [ 0.300000] io scheduler deadline registered (default) [ 0.310000] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.330000] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20) is a 16550A [ 0.340000] console [ttyS0] enabled, bootconsole disabled [ 0.340000] console [ttyS0] enabled, bootconsole disabled [ 0.360000] 1f000000.cfi: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x0022c9 [ 0.370000] Amd/Fujitsu Extended Query Table at 0x0040 [ 0.370000] Amd/Fujitsu Extended Query version 1.1. [ 0.380000] 1f000000.cfi: Swapping erase regions for top-boot CFI table. [ 0.380000] number of CFI chips: 1 [ 0.390000] 4 ofpart partitions found on MTD device 1f000000.cfi [ 0.390000] Creating 4 MTD partitions on "1f000000.cfi": [ 0.400000] 0x000000000000-0x000000030000 : "u-boot" [ 0.410000] 0x000000030000-0x000000040000 : "u-boot-env" [ 0.420000] 0x000000040000-0x000000050000 : "factory" [ 0.430000] 0x000000050000-0x000000800000 : "firmware" [ 0.440000] 0x0000001479e6-0x000000800000 : "rootfs" [ 0.440000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only [ 0.460000] mtd: device 4 (rootfs) set to be root filesystem [ 0.470000] mtd: partition "rootfs_data" created automatically, ofs=0x340000, len=0x4c0000 [ 0.470000] 0x000000340000-0x000000800000 : "rootfs_data" [ 0.490000] eth0: done loading [ 0.500000] rt2880_wdt 10000120.watchdog: Initialized [ 0.510000] TCP: cubic registered [ 0.510000] NET: Registered protocol family 17 [ 0.520000] Bridge firewalling registered [ 0.520000] 8021q: 802.1Q VLAN Support v1.8 [ 0.540000] VFS: Mounted root (squashfs filesystem) readonly on device 31:4. [ 0.550000] Freeing unused kernel memory: 220K (802b9000 - 802f0000) procd: Console is alive procd: - watchdog - procd: - preinit - Press the [f] key and hit [enter] to enter failsafe mode [ 4.780000] usbcore: registered new interface driver usbfs [ 4.790000] usbcore: registered new interface driver hub [ 4.800000] usbcore: registered new device driver usb [ 4.820000] dwc_otg: version 2.72a 24-JUN-2008 [ 4.820000] dwc_otg: Core Release: 2.66a [ 5.030000] dwc_otg: Periodic Transfer Interrupt Enhancement - disabled [ 5.030000] dwc_otg: Multiprocessor Interrupt Enhancement - disabled [ 5.040000] dwc_otg: Using DMA mode [ 5.040000] dwc_otg: Device using Buffer DMA mode [ 5.050000] dwc_otg 101c0000.otg: DWC OTG Controller [ 5.050000] dwc_otg 101c0000.otg: new USB bus registered, assigned bus number 1 [ 5.060000] dwc_otg 101c0000.otg: irq 26, io mem 0x101c0000 [ 5.070000] dwc_otg: Init: Port Power? op_state=1 [ 5.070000] dwc_otg: Init: Power Port (0) [ 5.080000] hub 1-0:1.0: USB hub found [ 5.080000] hub 1-0:1.0: 1 port detected mount_root: jffs2 is ready [ 7.890000] jffs2: notice: (283) jffs2_build_xattr_subsystem: complete building xattr subsystem, 18 of xdatum (0 unchecked, 17 orphan) and 23 of xref (0 dead, 17 orphan) found. procd: - early - procd: - watchdog - procd: - ubus - procd: - init - Please press Enter to activate this console. [ 9.160000] NET: Registered protocol family 10 [ 9.180000] nf_conntrack version 0.5.0 (460 buckets, 1840 max) [ 9.200000] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 9.240000] Loading modules backported from Linux version master-2013-11-05-0-gafa3093 [ 9.250000] Backport generated by backports.git backports-20130802-0-gdb67a3f [ 9.260000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 9.340000] xt_time: kernel timezone is -0000 [ 9.420000] cfg80211: Calling CRDA to update world regulatory domain [ 9.420000] cfg80211: World regulatory domain updated: [ 9.430000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [ 9.440000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 9.440000] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 9.450000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [ 9.460000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (300 mBi, 2000 mBm) [ 9.470000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (300 mBi, 2000 mBm) [ 9.480000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm) [ 9.580000] PPP generic driver version 2.4.2 [ 9.600000] NET: Registered protocol family 24 [ 9.660000] rt2800_wmac 10180000.wmac: failed to load eeprom property [ 9.670000] ieee80211 phy0: rt2x00lib_request_eeprom_file: Info - Loading EEPROM data from 'soc_wmac.eeprom'. [ 9.690000] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 2872, rev 0200 detected [ 9.700000] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0005 detected [ 15.440000] device eth0.1 entered promiscuous mode [ 15.440000] device eth0 entered promiscuous mode [ 15.470000] br-lan: port 1(eth0.1) entered forwarding state [ 15.480000] br-lan: port 1(eth0.1) entered forwarding state [ 16.490000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready [ 17.480000] br-lan: port 1(eth0.1) entered forwarding state procd: - init complete -


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

Rev ?

Architecture: MIPS
Vendor: Ralink
bootloader: U-Boot
System-On-Chip: RT3050 (MIPS 24K V4.12)
CPU/Speed 320 Mhz
Flash-Chip: Macronix MX29LV640
Flash size: 8192 KiB
RAM: 32 MiB
Wireless: RT3050 1×1 802.11n 2.4GHz
Ethernet: 2x 10/100MiBit/s
USB: Yes
Serial: Yes
JTAG: Yes (on test pads)
I2C: Yes
SPI: Yes
GPIO: Yes

Since this is development hardware, plenty of SoC I/Os are accessible, among them JTAG, I2C, SPI and plenty of GPIO (also I2S and PCM codec interfaces).

Development board (with added I2C current sensor):

Development board (modded)

CPU board top:

CPU board top

CPU board bottom:

CPU board bottom

port.jtag

port.i2c

Example usage:

root@OpenWrt:/# insmod i2c-gpio-custom bus0=0,1,2  # sda=1, scl=2 are default I2C GPIOs for RT305x
Custom GPIO-based I2C driver version 0.1.1
root@OpenWrt:/# insmod ina2xx
root@OpenWrt:/# echo 'ina219 0x40' > /sys/bus/i2c/devices/i2c-0/new_device
ina2xx 0-0040: power monitor ina219 (Rshunt = 10000 uOhm)
i2c i2c-0: new_device: Instantiated device ina219 at 0x40
root@OpenWrt:/# cat /sys/bus/i2c/devices/0-0040/power1_input 
15280000

port.spi

The SPI driver is called ramips-spi, but is disabled on this device. See for example target/linux/ramips/files/arch/mips/ralink/rt305x/mach-wnce2001.c for how to register the driver to be able to talk to SPI flash.

port.gpio

GPIOs available for use on the Carambola devices are:

GPIO# Carambola pin Function Name
1 34 I2C I2C_SDA
2 33 I2C I2C_SCL
3 13 SPI SPI_EN
4 14 SPI SPI_CLK
5 15 SPI SPI_DOUT
6 16 SPI SPI_DIN
7 29 SERIAL/I2S RTS_N/I2SCLK
8 31 SERIAL/I2S TXD/I2SWS
9 30 SERIAL/I2S CTS_N/I2SSD
10 32 SERIAL/I2S/PCM RXD/REFCLK
11 27 SERIAL/PCM DTR_N/PCMFS
12 26 SERIAL/PCM DCD_N/PCMCLK
13 28 SERIAL/PCM DSR_N/PCMDRX
14 25 SERIAL/PCM RIN/PCMDTX
15 35 SERIAL2 TXD2
16 36 SERIAL2 RXD2
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 08:58
  • by 127.0.0.1