LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Mobile (https://www.linuxquestions.org/questions/linux-mobile-81/)
-   -   Journey to Linux-ify a Chinese 'Smartbook' (https://www.linuxquestions.org/questions/linux-mobile-81/journey-to-linux-ify-a-chinese-smartbook-862482/)

justboo2u 02-13-2011 06:09 PM

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...

justboo2u 02-13-2011 06:21 PM

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)

justboo2u 02-13-2011 06:51 PM

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

justboo2u 02-13-2011 07:24 PM

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'.

justboo2u 02-16-2011 12:56 AM

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

justboo2u 02-18-2011 09:27 PM

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

justboo2u 02-20-2011 08:37 PM

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

justboo2u 02-22-2011 12:12 AM

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

justboo2u 02-23-2011 09:53 PM

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

justboo2u 02-25-2011 04:10 PM

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

justboo2u 02-26-2011 05:58 PM

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

Yellowstang73 02-28-2011 11:12 PM

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.

justboo2u 02-28-2011 11:58 PM

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

justboo2u 03-03-2011 04:04 PM

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. :)

justboo2u 03-03-2011 04:11 PM

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.