date: Wed 29 Jan 2025 04:07:56 PM PST subj: next thing NTC chip C.H.I.P resurrection auth: bbsing at s d f . o r g -------------------------------------------------- Background: ----------------------------- I have a Next Thing Co (NTC) C.H.I.P computer. This little SBC computer was about $9 when NTC was selling them. Not long after I got this little computer NTC started having huge problems, and eventually they vanished as a company. History of NTC link: -------------------- https://en.wikipedia.org/wiki/CHIP_(computer) Their single board computers (SBC) were really cool devices and they had some features I wish the leader in this space (raspbberypi) had and NTC's price point ($9) was really awesome. The problem is NTC went bankrupt, and eventually they shut down the file repository crippling the community and support for their computers. Right about that time I attempted to update my little CHIP computer not knowing NTC had decided to vanish. After the update attempt the little CHIP no longer would boot. Something to do with a slight difference on my version of the board or some sort of corruption during the update/shutdown process caused it to never boot up again. My problem is I'm not that good at computing, and I'm really bad at linux U-Boot. Troubleshooting: ----------------------------- Using my raspberrypi remotely with a Waveshare USB -------------------------------------------------- Connect to UART via device Waveshare USB UART0, pins on chip = ------------- chip U14_urt1-tx -> ws_rx ch_urt1-rx -> ws_tx ch_U13_gnd -> ws_gnd ----------------------------------------------------- U13 U14 ___________ ___________ gnd | [g] [ ] |\_____________urt1-tx_| [r] [ ] |\ | [ ] [ ] | |............urt1-rx_| [t] [ ] | | | [ ] [ ] | |................fel_| [ ] [ ] | | | [ ] [ ] | |....................| [ ] [ ] | | | [ ] [ ] | |....................| [ ] [ ] | | | [ ] [ ] | |....................| [ ] [ ] | | | [ ] [ ] | |....................| [ ] [ ] | | ^^^^^^^^^^^ Diagram of chip GPIO ports ^^^^ ----------------------------------------------------- I had to connect to the CHIP this way in order to see what is happening when the system attempts to boot up. Luckily I have access to the device and I can reset the device via U-boot command "reset". This gives me some place to start. ---------------------------------------------- Launch minicom via: ------------------ sudo minicom -D /dev/ttyACM0 -b115200 ---------------------------------------------- Output of the boot process: ---------------------------------------------- ************************************************************************ * * * reset * * resetting ... * * * * U-Boot SPL 2016.01-00089-gccd1de0 (Jan 13 2017 - 00:45:55) * * DRAM: 512 MiB * * CPU: 1008000000Hz, AXI/AHB/APB: 3/2/2 * * Trying to boot from NAND * * * * * * U-Boot 2016.01-00089-gccd1de0 (Jan 13 2017 - 00:45:55 +0000) * * Allwinner Technology * * * * CPU: Allwinner A13 (SUN5I) * * I2C: ready * * DRAM: 512 MiB * * NAND: 4096 MiB * * video-mode 720x480-24@60 not available, falling back to * * 1024x768-24@60 * * * * Setting up a 720x480i composite-ntsc console (overscan 40x20) * * In: serial * * Out: serial * * Err: serial * * Net: usb_ether * * starting USB... * * No controllers found * * Hit any key to stop autoboot: 2  1  0 * * ## Error: "test_fastboot" not defined * * * * device nand0 , # parts = 5 * * #: name size offset mask_flags * * 0: spl 0x00400000 0x00000000 0 * * 1: spl-backup 0x00400000 0x00400000 0 * * 2: uboot 0x00400000 0x00800000 0 * * 3: env 0x00400000 0x00c00000 0 * * 4: UBI 0xff000000 0x01000000 0 * * * * active partition: nand0,0 - (spl) 0x00400000 @ 0x00000000 * * * * defaults: * * mtdids : none * * mtdparts: none * * ubi0: attaching mtd1 * * ubi0: scanning is finished * * ubi0: attached mtd1 (name "mtd=4", size 4080 MiB) * * ubi0: PEB size: 4194304 bytes (4096 KiB), LEB size: 2064384 * * bytes * * ubi0: min./max. I/O unit sizes: 16384/16384, sub-page size 16384 * * ubi0: VID header offset: 16384 (aligned 16384), data offset: * * 32768 * * ubi0: good PEBs: 1008, bad PEBs: 12, corrupted PEBs: 0 * * ubi0: user volume: 0, internal volumes: 1, max. volumes count: * * 128 * * ubi0: max/mean erase counter: 1/1, WL threshold: 4096, image * * sequence number: 0 * * ubi0: available PEBs: 993, total reserved PEBs: 15, PEBs * * reserved for bad PEB handling: 8 * * ubi0: LEBs per PEB: 2 * * Error reading superblock on volume 'ubi0:rootfs' errno=-19! * * ubifsmount - mount UBIFS volume * * * * Usage: * * ubifsmount * * - mount 'volume-name' volume * * UBIFS not mounted, use ubifs mount to mount volume first! * * ubifsload - load file from an UBIFS filesystem * * * * Usage: * * ubifsload [bytes] * * - load file 'filename' to address 'addr' * * UBIFS not mounted, use ubifs mount to mount volume first! * * ubifsload - load file from an UBIFS filesystem * * * * Usage: * * ubifsload [bytes] * * - load file 'filename' to address 'addr' * * UBIFS not mounted, use ubifs mount to mount volume first! * * ubifsload - load file from an UBIFS filesystem * * * * Usage: * * ubifsload [bytes] * * - load file 'filename' to address 'addr' * * Bad Linux ARM zImage magic! * * * * device nand0 , # parts = 5 * * #: name size offset mask_flags * * 0: spl 0x00400000 0x00000000 0 * * 1: spl-backup 0x00400000 0x00400000 0 * * 2: uboot 0x00400000 0x00800000 0 * * 3: env 0x00400000 0x00c00000 0 * * 4: UBI 0xff000000 0x01000000 0 * * * * active partition: nand0,0 - (spl) 0x00400000 @ 0x00000000 * * * * defaults: * * mtdids : none * * mtdparts: none * * ubi0: detaching mtd1 * * ubi0: mtd1 is detached * * ubi0: attaching mtd1 * * ubi0: scanning is finished * * ubi0: attached mtd1 (name "mtd=4", size 4080 MiB) * * ubi0: PEB size: 4194304 bytes (4096 KiB), LEB size: 2064384 * * bytes * * ubi0: min./max. I/O unit sizes: 16384/16384, sub-page size 16384 * * ubi0: VID header offset: 16384 (aligned 16384), data offset: * * 32768 * * ubi0: good PEBs: 1008, bad PEBs: 12, corrupted PEBs: 0 * * ubi0: user volume: 0, internal volumes: 1, max. volumes count: 128 * * ubi0: max/mean erase counter: 1/1, WL threshold: 4096, image * * sequence number: 0 * * ubi0: available PEBs: 993, total reserved PEBs: 15, PEBs * * reserved for bad PEB handling: 8 * * ubi0: LEBs per PEB: 2 * * Error reading superblock on volume 'ubi0:rootfs' errno=-19! * * ubifsmount - mount UBIFS volume * * * * Usage: * * ubifsmount * * - mount 'volume-name' volume * * UBIFS not mounted, use ubifs mount to mount volume first! * * ubifsload - load file from an UBIFS filesystem * * * * Usage: * * ubifsload [bytes] * * - load file 'filename' to address 'addr' * * UBIFS not mounted, use ubifs mount to mount volume first! * * ubifsload - load file from an UBIFS filesystem * * * * Usage: * * ubifsload [bytes] * * - load file 'filename' to address 'addr' * * Bad Linux ARM zImage magic! * * => * * * ************************************************************************ ---------------------------------------------- Where to go from here: --------------------- * Collect information how to proceed. * Find out how to use U-boot. * Find out how the boot process works with linux and U-boot. * Find a working image of any size to upload to the device. * Attempt to find out if the hardware is still working. * Attempt to find out of the mmcblock devices not broken. * Attempt to get the system to boot up to linux. ---------------------------------------------- Problems: ---------------------------------------------- * I know nothing about U-boot embedded systems. * U-boot version is old (year 2016) * NTC doesn't exist anymore. * Support for the computer doesn't exist anymore. * Software or images don't exist, or are very difficult to find. ----------------------------------------------