Journey to Linux-ify a Chinese 'Smartbook'
I am placing this in the MOBILE section as this 'smartbook' really doesnt qualify (IMO) as a real netbook...
So, here we go! I got (one like) this 'smartbook' with the following specs: Model : X6-7A (Elovo) Processor : ARM926EJ-S rev 5 (v5l) BogoMIPS : 174.48 Features : swp half thumb fastmult edsp java CPU implementer : 0x41 CPU architecture: 5TEJ CPU variant : 0x0 CPU part : 0x926 CPU revision : 5 Hardware : WMT Revision : 0000 Serial : 0000000000000000 from a friend who, upon finding how limited WinCE 6 was, felt it was NOT worth keeping. Knowing only the most minimal about the system, I believed I could get a version of Android on it. After setting up the SD card (and the fight that was...) Android installed, and did NOT boot. I then 'bricked it' by attempting to shut it down while it was erasing/writing NAND... dumb. :rolleyes: Then bought another one. Hey, they're cheap! Long-story-short, I have been working on a Linux distro (with Debian's name on/in it) and have successfully: reconfigured the SD boot script to utilize the internal FLASH RAM by setting the commandline thus: mem=112M root=/dev/sda1 rw rootdelay=10 initrd=0x01000000,32M init=/linuxrc There are multiple problems dealing with my lack of knowledge RE these systems... but at this point my MAIN difficulty lies in getting the machine to boot WITHOUT the SD card in place. The configuration of the internal SPI/nand flash (?) is supposed to be this: dev: size erasesize name mtd0: 00d00000 00010000 "filesystem-SF" mtd1: 00280000 00010000 "kernel-SF" mtd2: 00050000 00010000 "u-boot-SF" mtd3: 00010000 00010000 "u-boot env. cfg. 1-SF" mtd4: 00010000 00010000 "u-boot env. cfg. 2-SF" mtd5: 00010000 00010000 "w-load-SF" which seems 'backward' to me... tho I am aware of other processors which do not 'start' at 'zero'... EDIT (2-18): It seems that the kernel image file has the w-load AND u-boot attached to it... which could suggest that mtd2-5 are 'redundant'... I am fairly certain now that the following is the 'kernel scratchpad' and it is exactly the remaining amount of ram (112+16=128)! Duh! :p I have not deciphered the following data yet, but is supplied for reference: MESSAGE LEVEL: 0 / 4e7c10 STATIC MB SIZE: 16384 kB / 16384 kB MAX MBA ORDER: 10 / 4e7c1c MIN MBA ORDER: 6 / 4e7c1d total MB areas: 1 total size: 16384 kB total free size: 13264 kB max MB size: 13264 kB (ID) [MB Area] address size [ zs, ze] MBs Max/Free ( 1)[MB Area,c44a44a0] 01c00000 16384kb [1c00,2c00] 2 13264kb/ 13264kb static index - [MemBlock] phys size [ zs, ze] cnt flag 1 - [MB,c45104e0] 01c00000 1560kb [1c00,1d86] 1 00000000 [User,c45114e0] addr c1c00000 size 186000 task (null) K Creator VPP-MB 2 - [MB,c45104a0] 01d86000 1560kb [1d86,1f0c] 1 00000000 [User,c45114a0] addr c1d86000 size 186000 task (null) K Creator VPP-MB DMA ZONE: 18 * 4kB = 72 kB 7 * 8kB = 56 kB 5 * 16kB = 80 kB 3 * 32kB = 96 kB 1 * 64kB = 64 kB 4 * 128kB = 512 kB 1 * 256kB = 256 kB 2 * 512kB = 1024 kB 2 * 1024kB = 2048 kB 3 * 2048kB = 6144 kB 17 * 4096kB = 69632 kB ------------------------------ + = 79984 kB (out of a total 128Mb of RAM...?) The internal 'disk' and other USB-type devices show up as: major minor #blocks name 31 0 13312 mtdblock0 31 1 2560 mtdblock1 31 2 320 mtdblock2 31 3 64 mtdblock3 31 4 64 mtdblock4 31 5 64 mtdblock5 (the SPI Flash...) 179 0 992000 mmcblk0 179 1 111233 mmcblk0p1 179 2 880352 mmcblk0p2 (the SD card partitioned into FAT and EXT2) 8 0 2058240 sda 8 1 2058183 sda1 (the internal USB-based 'disk drive') 8 16 983040 sdb 8 17 979933 sdb1 (USB stick that has all the text Im inserting...) The dmesg info will be next... |
The dmesg info...
Looks like this (linefeeds added):
Linux version 2.6.29-00236-g4f8dbbb-dirty (simenxie@Szmce01) (gcc version 4.2.0 20070126 (prerelease) MontaVista 4.2.0-3.0.0.0702771 2007-03-10)) #22 Wed Apr 7 14:15:24 CST 2010 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 CPU: VIVT data cache, VIVT instruction cache Machine: WMT Memory policy: ECC disabled, Data cache writethrough On node 0 totalpages: 28672 free_area_init_node: node 0, pgdat c04e1b60, node_mem_map c0571000 Normal zone: 224 pages used for memmap Normal zone: 0 pages reserved Normal zone: 28448 pages, LIFO batch:7 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 28448 Kernel command line: mem=112M root=/dev/sda1 rw rootdelay=10 initrd=0x01000000,32M init=/linuxrc PID hash table entries: 512 (order: 9, 2048 bytes) start_kernel(): bug: interrupts were enabled early Console: colour dummy device 80x30 console [tty0] enabled Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 112MB = 112MB total Memory: 75192KB available (4640K code, 759K data, 136K init) Calibrating delay loop... 174.48 BogoMIPS (lpj=872448) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok loadtime = 0 All the above happen 'in the dark'. It does not currently show any logo.bmp... I presume most of the above is done by the U-boot.bin (what passes for a BIOS?) --> start progress bar gefb: framebuffer at 0x7a00000, mapped to 0xc8000000, using 6144KB, total 6144KB start_boot_splash: screen xres = 800, yres = 480 net_namespace: 520 bytes NET: Registered protocol family 16 wmt_init wmt_pci_init PCI: WonderMidia Technology PCI Bridge (Gotta LOVE the spell-checker! :D) pci 0000:00:02.0: reg 10 io port: [0xd8004000-0xd80040ff] pci 0000:00:02.0: reg 14 32bit mmio: [0xd8004000-0xd80040ff] pci 0000:00:04.0: reg 10 32bit mmio: [0xd8007100-0xd80071ff] pci 0000:00:05.0: reg 20 io port: [0xd8007300-0xd800731f] PCI: bus0: Fast back to back transfers disabled 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: 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 checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd Freeing initrd memory: 32768K VT8500 SPI Flash Driver, (c) 2007 VIA Electronics ltd. Find SPI Flash, ID = 0x00C84013 un-know id = 0xc84013 Find SPI Flash, ID = 0x00FFFFFF un-know id = 0xffffff vt8500 sf controller initial ok OKAY??? cmdlinepart partition parsing not available Creating 6 MTD partitions on "mtdsf device": 0x000000000000-0x000000d00000 : "filesystem-SF" 0x000000d00000-0x000000f80000 : "kernel-SF" 0x000000f80000-0x000000fd0000 : "u-boot-SF" 0x000000fd0000-0x000000fe0000 : "u-boot env. cfg. 1-SF" 0x000000fe0000-0x000000ff0000 : "u-boot env. cfg. 2-SF" 0x000000ff0000-0x000001000000 : "w-load-SF" [WMT-MB] Preparing VIDEO BUFFER (SIZE 16384 kB) ... [WMT-MB] MAX MB Area size: Max 4096 Kbs Min 256 Kbs [WMT-MB] prob /dev/Memory Block major 216, minor 0 ashmem: initialized yaffs Mar 31 2010 13:52:24 Installing. msgmni has been set to 211 alg: No test for stdrng (krng) io scheduler noop registered io scheduler anticipatory registered (default) io scheduler deadline registered io scheduler cfq registered [WMT-MB *W*] mb_allocate unavailable size 5a4 [WMT-MB *W*] mb_allocate unavailable size 5a4 vpp_init(boot logo 1) lcd_init vt1632_init 0x0 0x0 [VOUT] VT1632 hw mode [VOUT] ext dev : DVI fb0: WMT GE frame buffer device [WMT-MB *W*] mb_free invalid paramaters 0/VPP-MB [WMT-MB *W*] mb_free invalid paramaters 0/VPP-MB fb1: WMT VPU frame buffer device pwm_init MTD dev0 size: 00d00000 "<NULL>" MTD dev1 size: 00280000 "<NULL>" MTD dev2 size: 00050000 "<NULL>" MTD dev3 size: 00010000 "<NULL>" MTD dev4 size: 00010000 "<NULL>" MTD dev5 size: 00010000 "<NULL>" --- pwmparam = 0,25,100,90,98,38,8,0,27 pwm_no = 0 scalar = 25, period = 100, duty = 90 pwm0: clock = 47916666, freq = 19166, level = 90 MTD dev0 size: 00d00000 "<NULL>" MTD dev1 size: 00280000 "<NULL>" MTD dev2 size: 00050000 "<NULL>" MTD dev3 size: 00010000 "<NULL>" MTD dev4 size: 00010000 "<NULL>" MTD dev5 size: 00010000 "<NULL>" ## Warning: "vibratorset" not defined Error when reading vibratorset from u-boot!!! WMT vibrater driver load successfully! ** another WTF moment. ** uart.0: ttyS0 at MMIO 0xd8200000 (irq = 32) is a wmt serial uart.1: ttyS1 at MMIO 0xd82b0000 (irq = 33) is a wmt serial uart.2: ttyS2 at MMIO 0xd8210000 (irq = 47) is a wmt serial uart.3: ttyS3 at MMIO 0xd82c0000 (irq = 50) is a wmt serial uart.4: ttyS4 at MMIO 0xd8370000 (irq = 31) is a wmt serial uart.5: ttyS5 at MMIO 0xd8380000 (irq = 30) is a wmt serial WMT Serial driver initialized: ok brd: module loaded loop: module loaded nbd: registered device at major 43 pmem: 0 init VIA Networking Velocity Family Gigabit Ethernet Adapter Driver Ver. 1.13 Copyright (c) 2002, 2003 VIA Networking Technologies, Inc. Copyright (c) 2004 Red Hat Inc. eth0: VIA Networking Velocity Family Gigabit Ethernet Adapter eth0: Ethernet Address: 00:40:63:2B:C7:49 PPP generic driver version 2.4.2 PPP Deflate Compression module registered PPP BSD Compression module registered PPP MPPE Compression module registered NET: Registered protocol family 24 PPPoL2TP kernel driver, V1.0 STRIP: Version 1.3A-STUART.CHESHIRE (unlimited channels) Linux video capture interface: v2.00 usbcore: registered new interface driver uvcvideo USB Video Class driver (v0.1.0) st: Version 20081215, fixed bufsize 32768, s/g segs 256 Driver 'st' needs updating - please use bus_type methods Driver 'sd' needs updating - please use bus_type methods NAND Driver, (c) 2008 WMT Electronics ltd. No NAND device found!!! No NAND device found!!! nand initialised ok ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver PCI: enabling device 0000:00:04.0 (0040 -> 0042) ehci_hcd 0000:00:04.0: EHCI Host Controller ehci_hcd 0000:00:04.0: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:04.0: irq 1, io mem 0xd8007100 ehci_hcd 0000:00:04.0: USB 0.0 started, EHCI 1.00 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected uhci_hcd: USB Universal Host Controller Interface driver PCI: enabling device 0000:00:05.0 (0000 -> 0001) uhci_hcd 0000:00:05.0: UHCI Host Controller uhci_hcd 0000:00:05.0: new USB bus registered, assigned bus number 2 uhci_hcd 0000:00:05.0: irq 0, io base 0xd8007300 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usbcore: registered new interface driver usbserial usbserial: USB Serial Driver core udc: VIA UDC driver, version: 3 December 2007 (dma) udc: pullup_disable() IRQ 5/wmotgdev: IRQF_DISABLED is not guaranteed on shared IRQs IRQ 2/wmotgdev: IRQF_DISABLED is not guaranteed on shared IRQs udc: wmt_udc_probe - request_irq(0x05) pass! i8042_controller_init I8042_CMD_CTL_TEST ok 0x55 write 0x50 cmd 0x1060 serio: i8042 AUX port at 0xd8008800,0xd8008804 irq 4 serio: i8042 KBD port at 0xd8008800,0xd8008804 irq 23 mice: PS/2 mouse device common for all mice wmt_rtc on wmt-rtc wmt-rtc.0: rtc core: registered wmt-rtc as rtc0 WMT Real Time Clock driver v0.54 initialized: ok i2c /dev entries driver i2c: adding wmt_i2c_adapter. i2c: successfully added bus [wmt_i2c_api_i2c_init] [wmt_i2c_api_init] wmt_i2c_api_init. i2c: wmt algorithm module loaded. WMT AHB to SD/MMC bus controller registered! Registered led device: lcd-backlight usbcore: registered new interface driver usbhid usbhid: v2.6:USB HID core driver logger: created 64K log 'log_main' logger: created 256K log 'log_events' logger: created 64K log 'log_radio' Advanced Linux Sound Architecture Driver Version 1.0.18a. Sound: WMT AC97: dsp id 3 mixer id 0 MTD dev0 size: 00d00000 "<NULL>" MTD dev1 size: 00280000 "<NULL>" MTD dev2 size: 00050000 "<NULL>" MTD dev3 size: 00010000 "<NULL>" MTD dev4 size: 00010000 "<NULL>" MTD dev5 size: 00010000 "<NULL>" ## Warning: "audio_max_gain" not defined Max. audio gain was default value(0x1e) MTD dev0 size: 00d00000 "<NULL>" MTD dev1 size: 00280000 "<NULL>" MTD dev2 size: 00050000 "<NULL>" MTD dev3 size: 00010000 "<NULL>" MTD dev4 size: 00010000 "<NULL>" MTD dev5 size: 00010000 "<NULL>" ## Warning: "wmt_disspdif" not defined VT1613 generic driver installed ALSA device list: No soundcards found. IPv4 over IPv4 tunneling driver GRE over IPv4 tunneling driver TCP cubic registered NET: Registered protocol family 17 Trying to free already-free IRQ 4 RPC: Registered udp transport module. RPC: Registered tcp transport module. 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com> All bugs added by David S. Miller <davem@redhat.com> input: kpadPower as /devices/virtual/input/input0 PMC: WonderMedia Power Management driver PMC: Power button is configured as soft power VFP support v0.3: not present wmt-rtc wmt-rtc.0: setting system clock to 2000-01-01 07:43:02 UTC (946712582) Waiting 10sec before mounting root device... mmc0: new SD card at address e624 mmcblk0: mmc0:e624 SD01G 968 MiB mmcblk0: p1 p2 usb 1-1: new high speed USB device using ehci_hcd and address 2 usb 1-1: configuration #1 chosen from 1 choice scsi0 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 2 usb-storage: waiting for device to settle before scanning input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio0/input/input1 usb 1-2: new high speed USB device using ehci_hcd and address 3 usb 1-2: configuration #1 chosen from 1 choice hub 1-2:1.0: USB hub found hub 1-2:1.0: 4 ports detected input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio1/input/input2 [GOVRH] VGA DAC DISCONNECT scsi 0:0:0:0: Direct-Access Generic Flash Disk 8.07 PQ: 0 ANSI: 2 sd 0:0:0:0: [sda] 4116480 512-byte hardware sectors: (2.10 GB/1.96 GiB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00 sd 0:0:0:0: [sda] Assuming drive cache: write through sd 0:0:0:0: [sda] 4116480 512-byte hardware sectors: (2.10 GB/1.96 GiB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00 sd 0:0:0:0: [sda] Assuming drive cache: write through sda: sda1 sd 0:0:0:0: [sda] Attached SCSI removable disk sd 0:0:0:0: Attached scsi generic sg0 type 0 usb-storage: device scan complete RAMDISK: Couldn't find valid RAM disk image starting at 0. EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended VFS: Mounted root (ext2 filesystem) on device 8:1. Freeing init memory: 136K Failed to execute /linuxrc. Attempting defaults... procfile_write get 0 The above happens during the 'scroll-bar'... Okay. :rolleyes: --> stop progress bar tileblit: no version for "magic" found: kernel tainted. Console: switching to colour frame buffer device 100x30 Then the kernel info shows... and for some reason, the dang kernel RESETS THE CLOCK to 1-2-2000 UTC... :eek: (Hope Im not boring too many of you! :p) |
Memory usage breakdown & things...
(Memory set as 112k by command line. Probably could push that back to 120+?)
MemTotal: 108256 kB MemFree: 79956 kB Buffers: 544 kB Cached: 6756 kB SwapCached: 0 kB Active: 5756 kB Inactive: 3216 kB Active(anon): 1672 kB Inactive(anon): 0 kB Active(file): 4084 kB Inactive(file): 3216 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 16 kB Writeback: 0 kB AnonPages: 1676 kB Mapped: 2152 kB Slab: 1776 kB SReclaimable: 360 kB SUnreclaim: 1416 kB PageTables: 152 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 54128 kB Committed_AS: 28472 kB VmallocTotal: 270336 kB VmallocUsed: 39032 kB VmallocChunk: 196604 kB I do not believe any of the other /var/log files will be of any use... but if there are any question that one of them can answer I'll put them in! The following is the script which is made into scriptcmd by make (changes non-bold): lcdinit cleanlcd fatload mmc 0 0 /script/uzImage.bin setenv bootargs mem=112M root=/dev/sda1 rw rootdelay=10 initrd=0x01000000,32M init=/linuxrc bootm 0 Minimalist, I know. I intend to insert the 'run logocmd' and see if the logo.bmp will show up, but that is 'small beans' compared to getting the beast to boot from nand/SPI... :D |
Okay, a modification...
It seems that this machine may actually be an 8510. I always presumed it was an 8505 as most of the ARMs are referenced by that number, but I found a PDF that suggests it is the upgraded one with 3 USB ports (which it has)...
Doubt that means anything regarding the ultimate goal, but 'nice-2-know'. |
Character assassination of a 'brick'.
I (re)opened up the bricked machine last nite.
The SoC IS, in fact, an 8505... there are supporting chips on the 'main board' that supply the extra USBs.... apparently. So, I opened up the 'working' one, and learned some interesting things. 1) It, too is an 8505. Seems 2b an older version but has some interesting similarities. 2) The 'HD' IS in fact, USB... on this one, there is an ACTUAL 'stick' plugged into an internal connection. I suspect that it MAY be possible to replace the 2Gb unit with a 4-16Gb one... (I hope!) :D 3) The brick's 'HD' is physically mounted to the CPU/daughterboard, but USES THE SAME FLASH (Samsung k9gag08u00) as the stick in the other one. MORE interesting is that, the 1Gb stick I have (damaged and opened for this purpose) ALSO has the same chip! Obviously the 1Gb HAS THE ROOM for 2Gb and the USB control chip on the stick says otherwise. Still working on getting a good, CLEAN filesystem on /dev/sda1... just need time. :p **DONE 2-17 ** Next I must learn how the 8505/u-boot decide what to boot when it is trying to boot from 'nand'. :D |
scrambled LOGO is still a logo...
Actually managed to see part of the logo tonite... tho it was thru linux...
I 'cat'-ed the logo.bmp >> /dev/fb0 and, LO and BEHOLD!!! :eek: Part of the logo showed up... scrambled, but showed. (due to being in 'text mode', I suspect). I believe I also now know the location of the framebuffer (before & after linux sets it to C800:0000), and believe I have found a flaw in the writing of the script that locates/relocates it for display. If I can get this simple process done, I will be ready to fight for nand-booting! :D |
Many tangents... little actual progress
Tonite I got a WIFI connection (with rt3070sta and all the garbage it shows!) and confirmed that APT-get is broken... :rolleyes:
(Gonna hafta use hard-wire for most things till the driver gets 'cleaned up'!) I also built a 2nd SD-boot to my 80gb HD (sdb1) so that I can manipulate/umount the 'internal HD' for 'service'... Once I have the 4gb stick 'modified' I intend to replace the 2gb 'HD' with a 4gb 'HD'... and it probably STILL wont boot! :p Have not been able to do anything useful with the nand-boot so far... I THINK the uzImage.bin file has ALL the 'guts' (w-load, u-boot AND kernel) in one file and, when pulled in, doesnt go right somehow... But, it WILL boot from SD with the same file.... Beginning to envy all those who just 'put the SD in and got it'... no, not :mad: :D EDIT: It seems that it is the WIFI that is broken... once I connected via hard-wire APT-get worked... a bit too well. (multi-HOURS worth of changes! :eek:) One-step-at-a-time, sweet Geezuz! :D |
Pleased, AND dismayed.
Some good improvements today...
Thanks to bento-linux.org I was able to put a WORKING X-window system on the machine, AND finally got the WIFI working after making the proper settings... Also the apt-get was not working due to the WIFI setting errors... so after 3 HOURS, updates were done... Time to focus on the NAND boot issue... finally! :rolleyes: But now, I have the incentive to get it done. Once that works, the entire machine will be operable and I will be.... close to happy! :D |
Delving into the inner sanctum
I think it is time to 'bite the bullet' and
try to tap into that 'unconnected and elusive' serial direct-connect to U-boot. I cannot understand why multiple attempts to utilize the NAND for booting, and the continuing absence of the logo could be anything but the way the NAND is configured. And... the only 'safe' way to do anything with it is to talk directly to U-boot. So... Time to dig out the soldering iron and wallet (for the usb-serial adapter Ive heard about). :eek: Watch out for the Netbook-ZOMBIES! :eek: An update: Thru apt-get I installed the 'latest and dirtiest' Debian for the ARM/WMT8505. It got rid of the constant reset of the realtime-clock, but would blow up BIG on attempting to set it at shutdown. SOooo... I found the rc.d entry for it and pointed it toward null. It complains that it doesnt work right, but what do I care? It shuts down properly without having to delete /dev/rtc0 now. :D |
To get a splash-ful of screen logo...
Well, I think good progress has been made so far:
1) Got a disto installed that starts and stops as expected (on 'flash-HD'), 2) It has X capability (which needs LOTSa work!), 3) Is able to network on BOTH hard-wire and WIFI ** biggie ** 4) Is able to do apt-get updates (thanks to #3), 5) Has successfully been tar-saved/restored BWO a 'surrogate' filesystem, ... to be converted to total-SD operation Time to split focus a bit, I think. I want to: 1) Get this pig to show a logo (of ANY SORT) on boot-up, 2) Be able to CHANGE IT at will without the 'handstands' Ive attempted so far, and 1) Define, correct and operate a BOOT from 'whatever-is-the-area-that-is-supposed-to-be-SPI/nand', 2) Be able to recreate the entire thing from a single SD card... plus tar-backup. My head hurts. :p :D |
POWER to the HALOGENS!!
:D :D
I may be seeing the 'light at the end of the tunnel'!! Found some info online that showed me (hopefully) my folly.... and the required info about a cable to attach to the serial 'port'! (It also means that the other 'brick' may NOT in fact BE a brick!) Why do I say that? The android install I ran (and attempted to shut down too soon) did not attempt to write the SPI flash, as I understand it. It was using the 'nand write' command which, IT SEEMS, just accesses the NAND flash (a.k.a. USB flash). Therefore, the w-load and u-boot SHOULD still be intact, and I just need to 'play' some more... Hopefully! :rolleyes: Stand by for good news! :D :D EDIT: (3-3-11) Bad news... the serial connector has shown that the 'brain is gone'... not even a <CR><LF> out of it... Oh well, to the parts bin! :p |
I've been following this thread for a while, mostly because I have one of these lil "hybird" toys. I pulled the internal usb drive out (after it had been formatted) and ran 'Recover my data' on it. Not sure if I got everything that was originally on the drive but I did get most of it. There are 3 partitions on the drive . The first partition came back as "Virtual FAT Partition @ 2113024". the other 2 partitions I could not recover anything from. The lil lime green toy came with wince6.0 on it. Don't know if any of this info helps but if it does and you want to take a look at what was recovered just let me know and I'll up it somewhere and post a link. Keep up the good work you have gotten further with this then anybody else on the net as far as I have found.
|
SMOKE-test!
Thanks for the info!
Right now I no desire (WHATSOEVER! :eek:) to return to WinCE, but will let you know! :D Last nite I tried to build a 4gb stick to use... solder-bridged the SOB and smoked it... Lucky for me it didnt hurt the machine tho! :eek: Gonna get an 8gigger and try again! SUPER-SIZE-STORAGE FTW! :D :D :D |
If at first you dont succeed... brick another one!
Well, this isnt totally true.
I created the serial interface cable, put in some pins that come out the bottom (covered with tape when unused), got picocom running on the main laptop, and voila! data that looks like this: WonderMedia Technologies, Inc. W-Load Version : 0.17.00.00 ethaddr............found U-Boot 1.1.4 (Apr 1 2010 - 16:26:54) WonderMedia Technologies, Inc. WMT U-Boot Version : 0.12.01.00.14 U-Boot code: 03F80000 -> 03FB9294 BSS: -> 040076AC RAM Configuration: Bank #0: 00000000 128 MB boot from spi flash. flash: Bank1: FF800000 -- FFFFFFFF Bank2: FF000000 -- FF7FFFFF Flash: 16 MB In: serial Out: serial Err: serial ### main_loop entered: bootdelay=1 bootcmd="nand readblob 3C00000 7800000;logo show" maddr = 0x3c00000, naddr = 0x7800000 Too cool! :p UNFORTUNATELY, during my working with it, I managed to change the ### main_loop: bootcmd="lcdinit;cleanlcd;mmcinit;nand read 0 0 300000;bootm 0" Hit any key to stop autoboot: 0 command to the logo boot command as shown above, with the excpeption that... IT DOESNT 'BLOW UP'... Now, it attempts to show the logo, and just Sits there. I had hoped it would 'time out' and then fall to the WMT # prompt... but it doesnt. This is a GENERAL SOS!!! IF ANYONE knows how to get around this, PLEASE LET ME KNOW!!! ** I will append the output it CURRENTLY produces once I get home ** In the interest of keeping the info coming, the next entry will list the data I saved before the 'incident'. I learned that, IT SEEMS the nand functions would not work correctly because the NAND FLASH had lost the YAFFS2 format... and could not be recognized that way. OR I PRESUME so... Hope it helps someone! :D EDIT: I have an idea to try... ensure that the BMP is missing/invalid. Perhaps that will 'fault out' and drop to the prompt... hope. :) |
Initial data dump #1
Looks like this:
WonderMedia Technologies, Inc. W-Load Version : 0.17.00.00 ethaddr............found U-Boot 1.1.4 (Apr 1 2010 - 16:26:54) WonderMedia Technologies, Inc. WMT U-Boot Version : 0.12.01.00.14 U-Boot code: 03F80000 -> 03FB9294 BSS: -> 040076AC RAM Configuration: Bank #0: 00000000 128 MB boot from spi flash. flash: Bank1: FF800000 -- FFFFFFFF Bank2: FF000000 -- FF7FFFFF Flash: 16 MB In: serial Out: serial Err: serial ### main_loop entered: bootdelay=1 bootcmd="nand readblob 3C00000 7800000;logo show" maddr = 0x3c00000, naddr = 0x7800000 <1> Read header Err : Can not find any nand flash Init Flash Failed rc=-1 Header is 0xff7f7fd7 0xff17f5fd error: magicNum = 0xff17f5fd, it should be 0x80101000 I believe this is caused by the 'NAND FLASH' being formatted as EXT2... show logo ..... LCD param (setting): 1,30000,8,800,480,48,40,40,3,29,13 PWM param (setting): 0,5,599,449,539,299,30,0,27 LCD FrameBuffer = 0x07600000, BMP Address = 0x03C00000 Error : Not BMP Format Execute register operation: reg op: 0xD8110064 | 0xC reg op: 0xD811008C | 0xC reg op: 0xD81100B4 & 0xFFFFFFFB reg op: 0xD81100B4 | 0x8 reg op: 0xD8130054 | 0x1 ### main_loop: bootcmd="lcdinit;cleanlcd;mmcinit;nand read 0 0 300000;bootm 0" Hit any key to stop autoboot: 0 ATSMB Host 390KHz SD Card is not inserted LCD param (setting): 1,30000,8,800,480,48,40,40,3,29,13 PWM param (setting): 0,5,599,449,539,299,30,0,27 LCD FrameBuffer = 0x07600000, BMP Address = 0x03C00000 PWM0 input freq = 47916666 Hz, output freq = 15998 Hz PWM0 register setting: scalar = 4, period = 598, duty = 448 LCD init OK ATSMB Host 390KHz Init : MMC Card ! Err : unknown type ! Initial SD Card Fail! No MMC card found (Because the card wasnt inserted) Err : Can not find any nand flash Init Flash Failed rc=-1 ## Booting image at 00000000 ... Bad Magic Number WMT # -------------------- END OF U-BOOT to command line -------------------- WMT # boot -------------------- Attempt to get system to show LOGO and boot ------ LCD param (setting): 1,30000,8,800,480,48,40,40,3,29,13 PWM param (setting): 0,5,599,449,539,299,30,0,27 LCD FrameBuffer = 0x07600000, BMP Address = 0x03C00000 PWM0 input freq = 47916666 Hz, output freq = 15998 Hz PWM0 register setting: scalar = 4, period = 598, duty = 448 LCD init OK ATSMB Host 390KHz Init : MMC Card ! Err : unknown type ! Initial SD Card Fail! No MMC card found Err : Can not find any nand flash Init Flash Failed rc=-1 ## Booting image at 00000000 ... Bad Magic Number WMT # ------------- The HELP info ------------------------ WMT # help ? - alias for 'help' autoscr - run script from memory base - print or set address offset bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cleanlcd - clean LCD screen cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation dhcp - invoke DHCP client to obtain IP/boot params diskboot- boot from IDE device dmacp - dma memory copy echo - echo args to console erase - erase FLASH memory fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) fatstore - store binary file to a dos filesystem flinfo - print FLASH memory information go - start application at address 'addr' help - print online help ide - IDE sub-system iminfo - print header information for application image imls - list all images found in flash itest - return true/false on integer compare lcdinit - initialize LCD loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line show - loop - infinite loop on address range md - memory display mii - MII utility commands mm - memory modify (auto-incrementing) mmcinit - init mmc card mtest - simple RAM test mw - memory write (fill) nand - NAND sub-system nfs - boot image via network using NFS protocol nm - memory modify (constant address) ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables protect - enable or disable FLASH write protection randmac - generate a random MAC address and save to "ethaddr" environment variable rarpboot- boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage sdwaitins - wait sd card inserted or removed sdwaitins 0 -- waiting removed sdwaitins 1 -- waiting inserted setenv - set environment variables sleep - delay execution for some time textout - show text to the screen textout x y "str" color color is 24bit Hex, R[23:16], G[15:8], B[7:0] for example: textout 0 0 "hello world" FFFFFF tftpboot- boot image via network using TFTP protocol tmpt - execute Mass Production Tool uploadfile- Transfer the spi flash image to the server. version - print monitor version WMT # -------------- NAND-SPECIFIC commands *** LOOKIE-HERE!! -------------------- These MAY OR NOT work when the NAND is YAFFS2... cant prove it by me! :p WMT # help nand nandrw info - show available NAND devices nand device [dev] - show or set current device nand read[.jffs2[s]] addr off size nand write[.jffs2] addr off size - read/write `size' bytes starting at offset `off' to/from memory address `addr' nand erase [clean] [off size] - erase `size' bytes from offset `off' (entire device if not specified) nand bad - show bad blocks nand read.oob addr off size - read out-of-band data nand write.oob addr off size - read out-of-band data nand writeblob mem_addr nand_off size - Insert 8 bytes header to the content, and write the content from memory to nand nand readblob mem_addr nand_off - read the content from nand, remove 8 bytes header, and then write the content to memory |
All times are GMT -5. The time now is 04:42 PM. |