3G Modem with Android

Dave McLaughlin
Hi all,

I have tried so many times to get this to work and nothing so far!

I have a Huawei E1550 modem and I have disabled the CDROM and SD features
already using AT^U2DIAG=0 but I still can't get it to connect.

When I run the 3G connect software and select the E1750/E1550 option, it
shows up with an APN of wcdma. This doesn't seem right.

I have configured the APN in settings for the network I am on, Telksomsel
but it still does not work.

The modem shows up in the debug output as 3 USB devices. TTYUSB0, TTYUSB1
and TTYUSB2.

I have checked that the modem does connect to the network using AT commands
on a PC. It works. I can also configure the APN and it connects.

Has anyone actually gotten any 3G modem to work with Android on any of the
FA boards?

This is critical to my use of the Tiny210 Capacitive so I need to find a
working solution fast.

Cheers
Dave...

Dave McLaughlin
I got it working!!

For those of you still having issues getting this to work, here is what I
discovered.

There is a script in /etc/ppp/peers that you need to edit to get the modem
to connect to your intended ISP. The file is as follows:

/etc/ppp/peers/chat-wcdma-connect

In this file, you need to edit the following line:

OK AT+CGDCONT=1,\"IP\",\"internet\",,0,0

Change the entry "internet" to match with your ISP's APN for GPRS.

On my ISP there is no need for a password so making the above changes got a
working GPRS connection. You may need to modify the file:

/etc/ppp/peers/wcdma

to add Authentication. I am not sure of the commands for this and still
researching PPPD on Android but hopefully this will help you to get going
with a 3G modem.

Dave McLaughlin
Although I have it working, I can't get it to connect when I need internet
access or to connect on bootup.

Anyone know how this is done?

Source code for the 3G Dialup app would be handy. There are a few things in
the FriendlyArm system that really need source to be able to do a lot of
things through automation.

Dave...

Reggie
Check the init.rc script files and /system/etc/ anything labelled mini210,
I believe that the 3g stuff is mostly built into android, so it may be that
you just need the drivers for your particular 3g modem and the init
scripts, then everything else should be available through android if its
been setup correctly.  I'm not 100% certain how you go about adding extra
stuff but I found an ethernet patch on the net that I'm going to fixup
android 4.0.3 with, perhaps there's a similar method that you could use? 
basically find a device that doesn't have 3g support natively and see what
was done to get it working.

Reggie
http://forum.xda-developers.com/showthread.php?t=1151097

the patch file looks like it adds permissions and the huawei drivers.

Dave McLaughlin
One thing I did notice is that I can send an SMS when the modem is not
connected to GPRS but fails when connected. It also does not receive SMS
either. I am trying to get this working as I need this capability as a fall
back for when GPRS is down. This is quite often in the remotes areas that I
will be deploying this system.

The failure to send whilst GPRS is active is because it does not appear to
be using the CMUX protocol (GSM 7.10) This is a special protocol that
allows more than 1 connection to a modem at the same time. This is built
into the kernel as I have seen the code for it. This means you can have a
data connection active and still talk to the modem to check for SMS and do
voice (if the hardware supports simultaneous radio use)

Reggie
From what I've seen, most of this stuff needs to be presented via the
framework, the 3g dialup stuff at least looks like the ethernet stuff where
friendlyarm provided their own interface, which *isn't* hooked directly
into the framework, the absence of google apps. probably goes some way to
explain this, along with the fact that all of the development etc. is very
china centric, so I reckon once we've fiddled with it enough and produced a
westernised rom, things will probably fall into place a bit more.  

I'm convinced that we can get a lot more device support into the 210 range
simply by studying how it's done on other s5pv210 targets and other android
targets in general.  It's just a question of finding the correct stuff in
amongst their source and init files (or even the apks).

For the ethernet at least it's simply not enough to provide all the normal
things that you'd expect to provide for a network connection,
ip,netmask,gateway,dns etc. it needs to be added internally as a valid
connection source, so for example, with google play, it will allow me to
connect to the play store via ethernet but refuses to download, checking
logcat and I see lots of unknown iface messages regarding eth0!  Studying
the ethernet patch, it mainly consists of the code to show ethernet
settings in 'settings' but the crucial stuff appears to be adding the
ethernet stuff in the same manner as wifi is treated throughout the system.

So essentially, some stuff will just use ethernet but crucial things just
don't play ball, ymmv but I think this is a similar situation to the 3g.

Dave McLaughlin
Hi Reggie.

Today I tried to flash the zImage and rootfs image but it won't boot.

I get the following in the debug output

/init: line 109: can't open /r/dev/console: no such file
[    3.161790] Kernel panic - not syncing: Attempted to kill init!
[    3.161875] [<c017e9c8>] (unwind_backtrace+0x0/0xf0) from [<c064d124>]
(panic+0x70/0x1ac)
[    3.161954] [<c064d124>] (panic+0x70/0x1ac) from [<c019aff8>]
(do_exit+0x5dc/0x68c)
[    3.162024] [<c019aff8>] (do_exit+0x5dc/0x68c) from [<c019b304>]
(do_group_exit+0x3c/0xbc)
[    3.169472] [<c019b304>] (do_group_exit+0x3c/0xbc) from [<c019b394>]
(sys_exit_group+0x10/0x18)
[    3.178133] [<c019b394>] (sys_exit_group+0x10/0x18) from [<c0179040>]
(ret_fast_syscall+0x0/0x30)
[    3.186965] Rebooting in 5 seconds.. 


Have you been able to flash and get working, your zImage file? I built mine
without the TVP5150 support. I am assuming this is correct if you don't
need to use the HDMI connector?

I have check the net for the error but no solution to it? I can't even find
the /init file (linuxrc) in the build directory.

Reggie
Well, I've managed to build a kernel and make that work, but your
/r/dev/console errors are due to the kernel using initrd/initramfs + the
scripts/friendlyarm.cpio in the kernel sources, that's why you can't see
any of it :-D  You can open up the cpio in any archive manager and study
it, /init is there, you'll also find stuff to do with the touchscreen
driver setup too.

I haven't worked out exactly why the initramfs stuff breaks if you're
running from SD but you can just disable the initrd/initramfs stuff in the
kernel menuconfig, although it may cause other issues but those can be
rectified by dumping most of the stuff that's in the cpio into the rootfs
and adding odd bits for mounts to the necessary files (at least for
android).  Oh and you might need to add 'noinitrd' to the commandline in
the superboot FriendlyArm.ini file.

As for the tvp5150 support, no, that's nothing to do with hdmi, it's an
addon board for analog video input I believe.

Reggie
btw. there are tools that should in theory allow you to be able to
decompile the 3gnet.apk, apk-tool is apparently one way you can go, or
there are other methods.

Dave McLaughlin
Thanks Reggie,

I am not running from SD. I only use the SD to flash the image to NAND and
to act as external storage.

Good point about the APK file. There is also a 3g-modem file in the BIN
directory that appears to be a native NDK file as looking through it with a
binary editor, I can see a reference to Source GCC.

Cool. I just installed dex2jar and jd-gui and I can now read the code for
3gnet.apk :)

Right, plan today is to figure this all out!

Reggie
Either way, whether you're running from SD or not, the issue has something
to do with the cpio file, it could be something silly in your commandline,
if you open up the /scripts/FriendlyArm.cpio file and open init in a text
editor, you can see what it does with the commandline and maybe you can
figure out why you're getting that error, there is also important
touchscreen stuff in there too. 

I tested my android rootfs today, it works :-)  Now I know that it works
and I haven't added any issues, I'll add the ethernet patch and get google
play on there.

Dave McLaughlin
I just tried the image that comes on the DVD and it also gives the same
error. :(

Going through the code for 3gnet and it looks like the actual connection to
the network is done inside fa-network but at least I should be able to
initiate this connection from my own code. I am going to try and reverse
engineer the 3gnet application. It would have been good if FA had released
at least this part as source. Oh well, at least I can see what it does :)

Reggie
That's a shame, however,the cpio is the key here, it is most definitely
where the kernel booting is failing!!  At that point, all the driver
bringup is done isn't it?  The line it's actually failing on (109) is
actually the very last line in the init file, it's where it does the
switch_root.

Dave McLaughlin
Yeah, it looks like all the drivers are done but that point. There is a
pause in the output just before that line appears.

I am off to Singapore tomorrow so will have to look at this when I come
back. Such a tough life :)

Cheers for all your help and pointers.

Reggie
I had a little look at this a while ago, to see if I could rebuild the cpio
file but I failed at the time, looks like it might be time to figure this
out once and for all, most of the drivers are built directly into the
kernel, it certainly doesn't need the cpio to boot from SD card, so I
wonder if it's really that necessary at all, there is some stuff done in
the init file but nothing that seems terribly important that can't be done
when the kernel has mounted the rootfs.

It might be useful if you could post the whole boot log at some point?

Dave McLaughlin
Here you go :)

 Board type: 2
Load Kernel...
Uncompressing Linux... done, booting the kernel.
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.0.8-FriendlyARM (dave@huey) (gcc version
4.5.1 (ctng-1.8.1-FA) ) #2 PREEMPT Sat Jan 26 16:31:02 WIT 2013
[    0.000000] CPU: ARMv7 Processor [412fc082] revision 2 (ARMv7),
cr=10c53c7f
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction
cache
[    0.000000] Machine: MINI210
[    0.000000] MINI210: S70 selected
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] CPU S5PV210/S5PC110 (id 0x43110220)
[    0.000000] S3C24XX Clocks, Copyright 2004 Simtec Electronics
[    0.000000] S5PV210: PLL settings, A=1000000000, M=667000000, E=80000000
V=54000000
[    0.000000] S5PV210: ARMCLK=1000000000, HCLKM=200000000, HCLKD=166750000
[    0.000000] HCLKP=133400000, PCLKM=100000000, PCLKD=83375000,
PCLKP=66700000
[    0.000000] sclk_dmc: source is sclk_a2m (0), rate is 200000000
[    0.000000] sclk_onenand: source is hclk_dsys (1), rate is 166750000
[    0.000000] uclk1: source is mout_mpll (6), rate is 66700000
[    0.000000] uclk1: source is mout_mpll (6), rate is 66700000
[    0.000000] uclk1: source is mout_mpll (6), rate is 66700000
[    0.000000] uclk1: source is mout_mpll (6), rate is 66700000
[    0.000000] sclk_mixer: source is sclk_dac (0), rate is 54000000
[    0.000000] sclk_fimc: source is ext_xtal (0), rate is 24000000
[    0.000000] sclk_fimc: source is ext_xtal (0), rate is 24000000
[    0.000000] sclk_fimc: source is ext_xtal (0), rate is 24000000
[    0.000000] sclk_cam0: source is ext_xtal (0), rate is 24000000
[    0.000000] sclk_cam1: source is ext_xtal (0), rate is 24000000
[    0.000000] sclk_fimd: source is ext_xtal (0), rate is 24000000
[    0.000000] sclk_mmc: source is mout_epll (7), rate is 80000000
[    0.000000] sclk_mmc: source is mout_epll (7), rate is 80000000
[    0.000000] sclk_mmc: source is mout_epll (7), rate is 80000000
[    0.000000] sclk_mmc: source is mout_epll (7), rate is 80000000
[    0.000000] sclk_mfc: source is sclk_a2m (0), rate is 200000000
[    0.000000] sclk_g2d: source is sclk_a2m (0), rate is 200000000
[    0.000000] sclk_g3d: source is sclk_a2m (0), rate is 200000000
[    0.000000] sclk_csis: source is ext_xtal (0), rate is 24000000
[    0.000000] sclk_spi: source is ext_xtal (0), rate is 24000000
[    0.000000] sclk_spi: source is ext_xtal (0), rate is 24000000
[    0.000000] sclk_pwi: source is ext_xtal (0), rate is 24000000
[    0.000000] sclk_pwm: source is ext_xtal (0), rate is 24000000
[    0.000000] s5p: 36864 kbytes system memory reserved for mfc at
0x2dc00000, 0-bank base(0x2dc00000)
[    0.000000] s5p: 36864 kbytes system memory reserved for mfc at
0x3dbf5000, 1-bank base(0x3dbf5000)
[    0.000000] s5p: 6144 kbytes system memory reserved for fimc0 at
0x3d5f5000, 1-bank base(0x3d5f5000)
[    0.000000] s5p: 16 kbytes system memory reserved for fimc1 at
0x3d5f1000, 1-bank base(0x3d5f1000)
[    0.000000] s5p: 6144 kbytes system memory reserved for fimc2 at
0x3cff1000, 1-bank base(0x3cff1000)
[    0.000000] s5p: 8192 kbytes system memory reserved for jpeg at
0x2d400000, 0-bank base(0x2d400000)
[    0.000000] s5p: 13060 kbytes system memory reserved for fimd at
0x3c330000, 1-bank base(0x3c330000)
[    0.000000] s5p: 8192 kbytes system memory reserved for g2d at
0x2cc00000, 0-bank base(0x2cc00000)
[    0.000000] s5p: 1800 kbytes system memory reserved for pmem_gpu1 at
0x2ca3e000, 0-bank base(0x2ca3e000)
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 100729
[    0.000000] Kernel command line: root=/dev/mtdblock4
console=ttySAC0,115200 init=/linuxrc androidboot.console=ttySAC0 lcd=S70
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072
bytes)
[    0.000000] Memory: 202MB 195MB 0MB = 397MB total
[    0.000000] Memory: 392140k/509416k available, 14872k reserved, 0K
highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xff000000 - 0xffe00000   (  14 MB)
[    0.000000]     vmalloc : 0xe0800000 - 0xfd000000   ( 456 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .init : 0xc0008000 - 0xc0173000   (1452 kB)
[    0.000000]       .text : 0xc0173000 - 0xc086d7a0   (7146 kB)
[    0.000000]       .data : 0xc086e000 - 0xc08c6540   ( 354 kB)
[    0.000000]        .bss : 0xc08c6564 - 0xc0a0b6e0   (1301 kB)
[    0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0,
CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:393
[    0.000000] VIC @fd000000: id 0x00041192, vendor 0x41
[    0.000000] VIC @fd010000: id 0x00041192, vendor 0x41
[    0.000000] VIC @fd020000: id 0x00041192, vendor 0x41
[    0.000000] VIC @fd030000: id 0x00041192, vendor 0x41
[    0.000000] mult[140737]
[    0.000000] max_delta_ns[2937815369]
[    0.000000] min_delta_ns[30517]
[    0.000000] rate[32768]
[    0.000000] HZ[256]
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [ttySAC0] enabled
[    0.448152] Calibrating delay loop... 994.84 BogoMIPS (lpj=1941504)
[    0.472577] pid_max: default: 32768 minimum: 301
[    0.472740] Mount-cache hash table entries: 512
[    0.473069] Initializing cgroup subsys debug
[    0.473111] Initializing cgroup subsys cpuacct
[    0.473157] Initializing cgroup subsys freezer
[    0.476592] CPU: Testing write buffer coherency: ok
[    0.484175] print_constraints: dummy: 
[    0.485286] NET: Registered protocol family 16
[    0.494885] S3C Power Management, Copyright 2004 Simtec Electronics
[    0.501353] fimd at 0x3c330000
[    0.501432] hsmmc0: sclk_mmc: source is mout_mpll, rate is 47642857
[    0.505354] hsmmc1: sclk_mmc: source is mout_mpll, rate is 47642857
[    0.511338] hsmmc2: sclk_mmc: source is mout_mpll, rate is 47642857
[    0.517564] hsmmc3: sclk_mmc: source is mout_mpll, rate is 47642857
[    0.524620] S5PV210: Initializing architecture
[    0.528898] s3c-adc s5pv210-adc: attached adc driver
[    0.533342] s3c24xx-pwm s3c24xx-pwm.0: tin at 66700000, tdiv at
66700000, tin=divclk, base 0
[    0.541953] print_constraints: pd_tv_supply: 5000 mV normal 
[    0.547356] print_constraints: pd_lcd_supply: 5000 mV normal 
[    0.553079] print_constraints: pd_g3d_supply: 5000 mV normal 
[    0.558786] print_constraints: pd_mfc_supply: 5000 mV normal 
[    0.564506] print_constraints: pd_audio_supply: 5000 mV normal 
[    0.602012] bio: create slab <bio-0> at 0
[    0.602995] SCSI subsystem initialized
[    0.604860] usbcore: registered new interface driver usbfs
[    0.605151] usbcore: registered new interface driver hub
[    0.605372] usbcore: registered new device driver usb
[    0.605934] s3c-i2c s3c2440-i2c.0: slave address 0x10
[    0.608267] s3c-i2c s3c2440-i2c.0: bus frequency set to 378 KHz
[    0.614868] s3c-i2c s3c2440-i2c.0: i2c-0: S3C I2C adapter
[    0.619610] s3c-i2c s3c2440-i2c.1: slave address 0x10
[    0.624598] s3c-i2c s3c2440-i2c.1: bus frequency set to 65 KHz
[    0.630631] s3c-i2c s3c2440-i2c.1: i2c-1: S3C I2C adapter
[    0.635794] s3c-i2c s3c2440-i2c.2: slave address 0x10
[    0.640780] s3c-i2c s3c2440-i2c.2: bus frequency set to 378 KHz
[    0.647040] s3c-i2c s3c2440-i2c.2: i2c-2: S3C I2C adapter
[    0.652591] Advanced Linux Sound Architecture Driver Version 1.0.24.
[    0.658895] Bluetooth: Core ver 2.16
[    0.662052] NET: Registered protocol family 31
[    0.666363] Bluetooth: HCI device and connection manager initialized
[    0.672669] Bluetooth: HCI socket layer initialized
[    0.677514] Bluetooth: L2CAP socket layer initialized
[    0.682538] Bluetooth: SCO socket layer initialized
[    0.687629] Switching to clocksource clock_source_systimer
[    0.695205] Switched to NOHz mode on CPU #0
[    0.706595] NET: Registered protocol family 2
[    0.706787] IP route cache hash table entries: 4096 (order: 2, 16384
bytes)
[    0.708841] TCP established hash table entries: 16384 (order: 5, 131072
bytes)
[    0.715760] TCP bind hash table entries: 16384 (order: 6, 327680 bytes)
[    0.722349] TCP: Hash tables configured (established 16384 bind 16384)
[    0.728567] TCP reno registered
[    0.731666] UDP hash table entries: 256 (order: 1, 12288 bytes)
[    0.737584] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
[    0.744106] NET: Registered protocol family 1
[    0.748461] RPC: Registered named UNIX socket transport module.
[    0.754157] RPC: Registered udp transport module.
[    0.758798] RPC: Registered tcp transport module.
[    0.763477] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.779186] PMU: registered new PMU device of type 0
[    0.779569] cpuidle: phy_regs_save:0x3bf35000
[    0.779732] Loaded driver for PL330 DMAC-0 s3c-pl330
[    0.784208]   DBUFF-64x8bytes Num_Chans-8 Num_Peri-2 Num_Events-32
[    0.790241] Loaded driver for PL330 DMAC-1 s3c-pl330
[    0.795141]   DBUFF-8x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[    0.801241] Loaded driver for PL330 DMAC-2 s3c-pl330
[    0.806116]   DBUFF-8x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[    0.820312] ashmem: initialized
[    0.834131] ROMFS MTD (C) 2007 Red Hat, Inc.
[    0.834406] msgmni has been set to 765
[    0.835428] io scheduler noop registered
[    0.835465] io scheduler deadline registered
[    0.835552] io scheduler cfq registered (default)
[    0.836081] start plist test
[    0.843026] end plist test
[    0.843...stripped-down

Dave McLaughlin
[    0.843658] s3cfb s3cfb: win 2: pmem_start=0x3c795000
[    0.846691] s3cfb s3cfb: [fb2] dma: 0x3c795000, cpu: 0xe1000000, size:
0x0085c000
[    0.861171] FIMD src sclk = 166750000
[    0.861240] s3cfb s3cfb: registered successfully
[    0.862339] Start display and show logo
[    0.871603] s5pv210-uart.0: ttySAC0 at MMIO 0xe2900000 (irq = 16) is a
S3C6400/10
[    0.880514] s5pv210-uart.1: ttySAC1 at MMIO 0xe2900400 (irq = 20) is a
S3C6400/10
[    0.888312] s5pv210-uart.2: ttySAC2 at MMIO 0xe2900800 (irq = 24) is a
S3C6400/10
[    0.896123] s5pv210-uart.3: ttySAC3 at MMIO 0xe2900c00 (irq = 28) is a
S3C6400/10
[    0.904394] leds  initialized
[    0.904577] pwm  initialized
[    0.904769] mini210-adc  initialized
[    0.905308] backlight  initialized
[    0.909171] PA FB = 0x3C795000, bits per pixel = 32
[    0.913281] screen width=800 height=480 va=0xdc795000 pa=0x3c795000
[    0.919494] xres_virtual = 800, yres_virtual = 1440, xoffset = 0,
yoffset = 0
[    0.926574] fb_size=8765440
[    0.929343] Back frameBuffer[0].VAddr=dc90c000 PAddr=3c90c000
size=1536000
[    0.936187] Back frameBuffer[1].VAddr=dca83000 PAddr=3ca83000
size=1536000
[    0.943036] Video Y Buffer[0].VAddr=dcbfa000 PAddr=3cbfa000 size=921600
[    0.949617] Video Y Buffer[1].VAddr=dccdb000 PAddr=3ccdb000 size=921600
[    0.956202] Video Y Buffer[2].VAddr=dcdbc000 PAddr=3cdbc000 size=921600
[    0.962787] Video UV Buffer[0].VAddr=dce9d000 PAddr=3ce9d000 size=462848
[    0.969461] Video UV Buffer[1].VAddr=dcf0e000 PAddr=3cf0e000 size=462848
[    0.976131] Video UV Buffer[2].VAddr=dcf7f000 PAddr=3cf7f000 size=462848
[    0.989149] brd: module loaded
[    0.992567] loop: module loaded
[    0.992645] pmem_gpu1: 1 init
[    0.993092] Android kernel panic handler initialized (bind=kpanic)
[    0.999116] S3C NAND Driver, (c) 2008 Samsung Electronics
[    1.106694] S3C NAND Driver is using hardware ECC.
[    1.106771] NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung
NAND 1GiB 3,3V 8-bit)
[    1.106851] Creating 5 MTD partitions on "s5pv210-nand":
[    1.106903] 0x0000000c0000-0x000000100000 : "misc"
[    1.108668] 0x000000100000-0x000000600000 : "recovery"
[    1.114563] 0x000000600000-0x000000b00000 : "kernel"
[    1.119487] 0x000000b00000-0x000000e00000 : "ramdisk"
[    1.124099] 0x000000e00000-0x000040000000 : "system"
[    1.311566] PPP generic driver version 2.4.2
[    1.311884] PPP Deflate Compression module registered
[    1.311930] PPP BSD Compression module registered
[    1.312408] PPP MPPE Compression module registered
[    1.312453] NET: Registered protocol family 24
[    1.313903] tun: Universal TUN/TAP device driver, 1.6
[    1.317524] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.323893] dm9000 Ethernet Driver, V1.31
[    1.328845] eth0: dm9000a at e0838000,e083c00c IRQ 39 MAC:
08:90:00:a0:02:10 (platform data)
[    1.336285] sdhci: Secure Digital Host Controller Interface driver
[    1.342213] sdhci: Copyright(c) Pierre Ossman
[    1.346587] s3c-sdhci s3c-sdhci.0: clock source 0: hsmmc (133400000 Hz)
[    1.353124] s3c-sdhci s3c-sdhci.0: clock source 2: sclk_mmc (47642857
Hz)
[    1.359918] mmc0: no vmmc regulator found
[    1.364138] mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] using
ADMA
[    1.370937] s3c-sdhci s3c-sdhci.1: clock source 0: hsmmc (133400000 Hz)
[    1.377470] s3c-sdhci s3c-sdhci.1: clock source 2: sclk_mmc (47642857
Hz)
[    1.384247] mmc1: no vmmc regulator found
[    1.390552] mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using
ADMA
[    1.395275] s3c-sdhci s3c-sdhci.2: clock source 0: hsmmc (133400000 Hz)
[    1.401819] s3c-sdhci s3c-sdhci.2: clock source 2: sclk_mmc (47642857
Hz)
[    1.408619] mmc2: no vmmc regulator found
[    1.412847] mmc2: SDHCI controller on samsung-hsmmc [s3c-sdhci.2] using
ADMA
[    1.420638] s3c-sdhci s3c-sdhci.3: clock source 0: hsmmc (133400000 Hz)
[    1.428208] s3c-sdhci s3c-sdhci.3: clock source 2: sclk_mmc (47642857
Hz)
[    1.432966] mmc3: no vmmc regulator found
[    1.437181] mmc3: SDHCI controller on samsung-hsmmc [s3c-sdhci.3] using
ADMA
[    1.444067] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.450663] s5p-ehci s5p-ehci: S5P EHCI Host Controller
[    1.455711] s5p-ehci s5p-ehci: new USB bus registered, assigned bus
number 1
[    1.462750] s5p-ehci s5p-ehci: irq 87, io mem 0xec200000
[    1.478129] s5p-ehci s5p-ehci: USB 0.0 started, EHCI 1.00
[    1.478752] hub 1-0:1.0: USB hub found
[    1.478800] hub 1-0:1.0: 1 port detected
[    1.481292] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.487221] s5p-ohci s5p-ohci: EXYNOS OHCI Host Controller
[    1.492603] s5p-ohci s5p-ohci: new USB bus registered, assigned bus
number 2
[    1.499594] s5p-ohci s5p-ohci: irq 87, io mem 0xec300000
[    1.560822] hub 2-0:1.0: USB hub found
[    1.560867] hub 2-0:1.0: 1 port detected
[    1.561615] usbcore: registered new interface driver usbserial
[    1.561798] USB Serial support registered for generic
[    1.561986] usbcore: registered new interface driver usbserial_generic
[    1.563516] usbserial: USB Serial Driver core
[    1.568051] USB Serial support registered for aircable
[    1.573116] usbcore: registered new interface driver aircable
[    1.578838] USB Serial support registered for ark3116
[    1.583923] usbcore: registered new interface driver ark3116
[    1.589391] ark3116:v0.6:USB ARK3116 serial/IrDA driver
[    1.594656] USB Serial support registered for Belkin / Peracom / GoHubs
USB Serial Adapter
[    1.602928] usbcore: registered new interface driver belkin
[    1.608364] belkin_sa: v1.3:USB Belkin Serial converter driver
[    1.614260] USB Serial support registered for ch341-uart
[    1.619581] usbcore: registered new interface driver ch341
[    1.625028] USB Serial support registered for cp210x
[    1.629995] usbcore: registered new interface driver cp210x
[    1.635416] cp210x: v0.09:Silicon Labs CP210x RS232 serial adaptor
driver
[    1.642250] USB Serial support registered for Reiner SCT Cyberjack USB
card reader
[    1.649844] usbcore: registered new interface driver cyberjack
[    1.655517] cyberjack: v1.01 Matthias Bruestle
[    1.659919] cyberjack: REINER SCT cyberJack pinpad/e-com USB Chipcard
Reader Driver
[    1.667679] USB Serial support registered for DeLorme Earthmate USB
[    1.673902] USB Serial support registered for HID->COM RS232 Adapter
[    1.680228] USB Serial support registered for Nokia CA-42 V2 Adapter
[    1.686580] usbcore: registered new interface driver cypress
[    1.693127] mmc0: new high speed SDHC card at address aaaa
[    1.697639] cypress_m8: v1.10:Cypress USB to Serial Driver
[    1.703107] mmcblk0: mmc0:aaaa SU16G 14.8 GiB 
[    1.708019] USB Serial support registered for Digi 2 port USB adapter
[    1.713932] USB Serial support registered for Digi 4 port USB adapter
[    1.720400] usbcore: registered new interface driver digi_acceleport
[    1.726627]  mmcblk0: p1
[    1.729641] digi_acceleport: v1.80.1.2:Digi AccelePort USB-2/USB-4
Serial Converter driver
[    1.737407] USB Serial support registered for Edgeport 2 port adapter
[    1.745828] USB Serial support registered for Edgeport 4 port adapter
[    1.750218] USB Serial support registered for Edgeport 8 port adapter
[    1.756639] USB Serial support registered for EPiC device
[    1.765185] usbcore: registered new interface driver io_edgeport
[    1.767869] io_edgeport: v2.7:Edgeport USB Serial Driver
[    1.773275] USB Serial support registered for Edgeport TI 1 port adapter
[    1.781941] USB Serial support registered for Edgeport TI 2 port adapter
[    1.786649] usbcore: registered new interface driver io_ti
[    1.791991] io_ti: v0.7mode043006:Edgeport USB Serial Driver
[    1.800830] USB Serial support registered for empeg
[    1.802576] usbcore: registered new interface driver empeg
[    1.807925] empeg: v1.3:USB Empeg Mark I/II Driver
[    1.812771] USB Serial support registered for FTDI USB Serial Device
[    1.821205] usbcore: registered new interface driver ftdi_sio
[    1.824740] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
[    1.830623] USB Serial support registered for funsoft
[    1.838816] usbcore: registered new interface driver funsoft
[    1.841287] USB Serial support registered for Garmin GPS usb/tty
[    1.847306] usbcore: registered new interface driver garmin_gps
[    1.855078] garmin_gps: v0.36:garmin gps driver
[    1.857658] USB Serial support registered for hp4X
[    1.862468] usbcore: registered new interface driver hp4X
[    1.867716] hp4x: v1.00:HP4x (48/49) Generic Serial driver
[    1.876377] USB Serial support registered for PocketPC PDA
[    1.878809] usbcore: registered new interface driver ipaq
[    1.884007] ipaq: v1.0:USB PocketPC PDA driver
[    1.890512] USB Serial support registered for IPWireless converter
[    1.894705] usbcore: registered new interface driver ipwtty
[    1.900126] ipw: v0.4:IPWireless tty driver
[    1.904378] USB Serial support registered for IR Dongle
[    1.909621] usbcore: registered new interface driver ir-usb
[    1.916074] ir_usb: v0.5:USB IR Dongle driver
[    1.921457] USB Serial support registered for iuu_phoenix
[    1.924868] usbcore: registered new interface driver iuu_phoenix
[    1.930734] iuu_phoenix: v0.12:Infinity USB Unlimited Phoenix driver
[    1.937142] USB Serial support registered for Keyspan PDA
[    1.942531] USB Serial support registered for Keyspan PDA -
(prerenumeration)
[    1.949634] USB Serial support registered for Xircom / Entregra PGS -
(prerenumeration)
[    1.957631] usbcore: registered new interface driver keyspan_pda
[    1.963492] keyspan_pda: v1.1:USB Keyspan PDA Converter driver
[    1.969376] USB Serial support registered for KL5KUSB105D / PalmConnect
[...stripped-down

Dave McLaughlin
[    1.976016] usbcore: registered new interface driver kl5kusb105d
[    1.981859] kl5kusb105: v0.4:KLSI KL5KUSB105 chipset USB->Serial
Converter driver
[    1.989399] USB Serial support registered for KOBIL USB smart card
terminal
[    1.996362] usbcore: registered new interface driver kobil
[    2.001704] kobil_sct: 21/05/2004:KOBIL USB Smart Card Terminal Driver
(experimental)
[    2.009584] USB Serial support registered for MCT U232
[    2.014730] usbcore: registered new interface driver mct_u232
[    2.020334] mct_u232: z2.1:Magic Control Technology USB-RS232 converter
driver
[    2.027609] USB Serial support registered for Moschip 2 port adapter
[    2.033854] mos7720: 2.1:Moschip USB Serial Driver
[    2.038716] usbcore: registered new interface driver moschip7720
[    2.044696] USB Serial support registered for Moschip 7840/7820 USB
Serial Driver
[    2.052049] mos7840: 1.3.2:Moschip 7840/7820 USB Serial Driver
[    2.057959] usbcore: registered new interface driver mos7840
[    2.063587] USB Serial support registered for moto-modem
[    2.068894] usbcore: registered new interface driver moto-modem
[    2.074769] USB Serial support registered for navman
[    2.079756] usbcore: registered new interface driver navman
[    2.085256] USB Serial support registered for ZyXEL - omni.net lcd plus
usb
[    2.092213] usbcore: registered new interface driver omninet
[    2.097719] omninet: v1.1:USB ZyXEL omni.net LCD PLUS Driver
[    2.103437] USB Serial support registered for opticon
[    2.108497] usbcore: registered new interface driver opticon
[    2.114108] USB Serial support registered for GSM modem (1-port)
[    2.120176] usbcore: registered new interface driver option
[    2.125540] option: v0.7.2:USB Driver for GSM modems
[    2.130560] USB Serial support registered for oti6858
[    2.135618] usbcore: registered new interface driver oti6858
[    2.141233] USB Serial support registered for pl2303
[    2.146203] usbcore: registered new interface driver pl2303
[    2.151619] pl2303: Prolific PL2303 USB to serial adaptor driver
[    2.157682] USB Serial support registered for qcaux
[    2.162561] usbcore: registered new interface driver qcaux
[    2.168007] USB Serial support registered for Qualcomm USB modem
[    2.174029] usbcore: registered new interface driver qcserial
[    2.179610] safe_serial: v0.1:USB Safe Encapsulated Serial
[    2.185175] USB Serial support registered for safe_serial
[    2.190558] usbcore: registered new interface driver safe_serial
[    2.196521] USB Serial support registered for siemens_mpi
[    2.201910] usbcore: registered new interface driver siemens_mpi
[    2.207774] Driver for Siemens USB/MPI adapter
[    2.212177] Version 0.1 09/26/2005 Thomas Hergenhahn@web.de
http://libnodave.sf.net
[    2.219900] USB Serial support registered for Sierra USB modem
[    2.225750] usbcore: registered new interface driver sierra
[    2.231165] sierra: v.1.7.16:USB Driver for Sierra Wireless USB modems
[    2.237758] USB Serial support registered for SPCP8x5
[    2.242813] usbcore: registered new interface driver spcp8x5
[    2.248327] spcp8x5: v0.10:SPCP8x5 USB to serial adaptor driver
[    2.254303] USB Serial support registered for Quatech SSU-100 USB to
Serial Driver
[    2.261882] usbcore: registered new interface driver ssu100
[    2.267304] ssu100: v0.1:Quatech SSU-100 USB to Serial Driver
[    2.274484] USB Serial support registered for symbol
[    2.278187] mmc2: new SDIO card at address 0001
[    2.282620] usbcore: registered new interface driver symbol
[    2.288330] USB Serial support registered for TI USB 3410 1 port adapter
[    2.294783] USB Serial support registered for TI USB 5052 2 port adapter
[    2.301490] usbcore: registered new interface driver ti_usb_3410_5052
[    2.309761] ti_usb_3410_5052: v0.10:TI USB 3410/5052 Serial Driver
[    2.314012] USB Serial support registered for Handspring Visor / Palm OS
[    2.320689] USB Serial support registered for Sony Clie 3.5
[    2.326237] USB Serial support registered for Sony Clie 5.0
[    2.331823] usbcore: registered new interface driver visor
[    2.338176] visor: USB HandSpring Visor / Palm OS driver
[    2.344507] USB Serial support registered for Connect Tech - WhiteHEAT -
(prerenumeration)
[    2.350770] USB Serial support registered for Connect Tech - WhiteHEAT
[    2.357282] usbcore: registered new interface driver whiteheat
[    2.362968] whiteheat: v2.0:USB ConnectTech WhiteHEAT driver
[    2.368693] USB Serial support registered for vivopay-serial
[    2.374367] usbcore: registered new interface driver vivopay-serial
[    2.380476] vivopay_serial: v1.0:ViVOpay USB Serial Driver
[    2.386024] USB Serial support registered for zio
[    2.390735] usbcore: registered new interface driver zio
[    2.395903] Initializing USB Mass Storage driver...
[    2.400911] usbcore: registered new interface driver usb-storage
[    2.406720] USB Mass Storage support registered.
[    2.411473] s3c-udc : S3C HS USB Device Controller Driver, (c) 2008-2009
Samsung Electronics
[    2.411480] s3c-udc : version 15 March 2009 (DMA Mode)
[    2.429129] android_usb gadget: Mass Storage Function, version:
2009/09/11
[    2.431682] android_usb gadget: Number of LUNs=1
[    2.436306]  lun0: LUN: removable file: (no medium)
[    2.441416] android_usb gadget: android_usb ready
[    2.459687] Registered gadget driver 'android_usb'
[    2.460019] mousedev: PS/2 mouse device common for all mice
[    2.460765] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    2.463451] touchscreen-1wire  initialized
[    2.466789] backlight-1wire  initialized
[    2.470627] setup_irq: ret = 0
[    2.473586] PWM clock = 66700000
[    2.478835] TCNT_FOR_SAMPLE_BIT = 3472, TCFG1 = 00000000
[    2.482446] input: fa_ts_input as /devices/virtual/input/input1
[    2.488465] ts-if  initialized
[    2.491232] S3C24XX RTC, (c) 2004,2006 Simtec Electronics
[    2.496442] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[    2.501769] 2: TCNTB=00000d90, TCNTO=00000229, TINT_CSTAT=00000008
[    2.507957] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[    2.514447] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[    2.520905] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[    2.524299] 5: TCNTB=00000d90, TCNTO=00000ad6, TINT_CSTAT=00000008
[    2.530466] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[    2.536296] using rtc device, s3c, for alarms
[    2.540122] s3c-rtc s3c64xx-rtc: rtc core: registered s3c as rtc0
[    2.546445] i2c /dev entries driver
[    2.550428] Linux video capture interface: v2.00
[    2.554468] mfc_init: <6>S5PC110 MFC Driver, (c) 2009 Samsung
Electronics
[    2.554474] 
[    2.565468] S3C JPEG Driver, (c) 2007 Samsung Electronics
[    2.567954] JPEG driver for S5PV210
[    2.571991] i2c i2c-1: attached s5p_ddc into i2c adapter successfully
[    2.577966] S5PC11X HPD Driver, (c) 2010 Samsung Electronics
[    2.583814] S5PC11X CEC Driver, (c) 2010 Samsung Electronics
[    2.590052] usbcore: registered new interface driver uvcvideo
[    2.594817] USB Video Class driver (v1.1.0)
[    2.619209] mma7660 0-004c: no device
[    2.619349] i2c-core: driver [mma7660] using legacy suspend method
[    2.619402] i2c-core: driver [mma7660] using legacy resume method
[    2.619456] MMA7660 sensor driver registered.
[    2.619494] S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
[    2.625306] s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled,
irq enabled
[    2.633581] device-mapper: uevent: version 1.0.3
[    2.637693] device-mapper: ioctl: 4.20.0-ioctl (2011-02-02) initialised:
dm-devel@redhat.com
[    2.645713] Bluetooth: HCI UART driver ver 2.2
[    2.650101] Bluetooth: HCI H4 protocol initialized
[    2.654865] Bluetooth: HCILL protocol initialized
[    2.659698] cpuidle: using governor ladder
[    2.663832] cpuidle: using governor menu
[    2.667766] twmulti : loaded
[    2.676942] usbcore: registered new interface driver usbhid
[    2.676994] usbhid: USB HID core driver
[    2.680171] logger: created 256K log 'log_main'
[    2.684412] logger: created 256K log 'log_events'
[    2.689083] logger: created 256K log 'log_radio'
[    2.693649] logger: created 256K log 'log_system'
[    2.699597] ALSA device list:
[    2.701139]   No soundcards found.
[    2.704518] oprofile: hardware counters not available
[    2.709544] oprofile: using timer interrupt.
[    2.713887] GACT probability NOT on
[    2.717270] Mirror/redirect action on
[    2.720899] u32 classifier
[    2.723582]     Actions configured
[    2.726964] Netfilter messages via NETLINK v0.30.
[    2.731706] nf_conntrack version 0.5.0 (6127 buckets, 24508 max)
[    2.738487] ctnetlink v0.93: registering with nfnetlink.
[    2.742954] NF_TPROXY: Transparent proxy support initialized, version
4.1.0
[    2.749839] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[    2.755987] xt_time: kernel timezone is -0000
[    2.761481] ip_tables: (C) 2000-2006 Netfilter Core Team
[    2.765428] arp_tables: (C) 2002 David S. Miller
[    2.769912] TCP cubic registered
[    2.774016] NET: Registered protocol family 10
[    2.782162] Mobile IPv6
[    2.782212] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    2.785524] IPv6 over IPv4 tunneling driver
[    2.793815] NET: Registered protocol family 17
[    2.793884] NET: Registered protocol family 15
[    2.798412] Bluetooth: RFCOMM TTY layer initialized
[    2.803142] Bluetooth: RFCOMM socket layer initialized
[    2.808246] Bluetooth: RFCOMM ver 1.11
[    2.811973] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.817260] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    2.823388] NET: Registered protocol family 35
[    2.827674] Registering the dns_resolver key type
[    2.832273] VFP support v0.3: implementor 41 architecture 3 part 30
variant c rev 2
[...stripped-down

Dave McLaughlin
[    2.839883] ThumbEE CPU extension supported.
[    2.844329] s5pv210_cpufreq_init: S5PV210 cpu-freq driver
[    2.850054] regulator_init_complete: pd_mfc_supply: disabling
[    2.855221] regulator_init_complete: pd_tv_supply: disabling
[    2.860900] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[    2.866329] s3c-rtc s3c64xx-rtc: setting system clock to 2013-01-27
09:14:47 UTC (1359278087)
[    2.879308] FIMC0 registered successfully
[    2.880721] FIMC1 registered successfully
[    2.884086] FIMC2 registered successfully
[    2.886927] S5PC1XX TVOUT Driver, (c) 2009 Samsung Electronics
[    2.893135] s5p-tvout s5p-tvout: hpd status is cable removed
[    2.907754] Freeing init memory: 1452K
[    2.970871] VFS: could not find a valid V7 on mtdblock4.
[    2.985988] yaffs: dev is 32505860 name is "mtdblock4" rw
[    2.986035] yaffs: passed flags ""
/init: line 109: can't open /r/dev/console: no such file
[    3.161790] Kernel panic - not syncing: Attempted to kill init!
[    3.161875] [<c017e9c8>] (unwind_backtrace+0x0/0xf0) from [<c064d124>]
(panic+0x70/0x1ac)
[    3.161954] [<c064d124>] (panic+0x70/0x1ac) from [<c019aff8>]
(do_exit+0x5dc/0x68c)
[    3.162024] [<c019aff8>] (do_exit+0x5dc/0x68c) from [<c019b304>]
(do_group_exit+0x3c/0xbc)
[    3.169472] [<c019b304>] (do_group_exit+0x3c/0xbc) from [<c019b394>]
(sys_exit_group+0x10/0x18)
[    3.178133] [<c019b394>] (sys_exit_group+0x10/0x18) from [<c0179040>]
(ret_fast_syscall+0x0/0x30)
[    3.186965] Rebooting in 5 seconds..

Reggie
It looks like it never mounts /r in the cpio.

Essentially it's parsing the cmdline information through a for loop so that
it can setup it's own vars for use later on in an if statement:

if [ ! -z $NFSROOT ] ; then
  echo $NFSROOT | sed s/:/\ /g  > /dev/x ;  read sip dir < /dev/x
  echo $IP | sed s/:/\ /g > /dev/x;  read cip sip2 gip netmask hostname
device autoconf < /dev/x
  rm /dev/x
  echo $sip $dir $cip $sip2 $gip $netmask $hostname $device $autoconf
  mount -t nfs $NFSROOT /r -o nolock,proto=tcp
  #[ -e /r/dev/console ] || exec /bin/sh

elif [ ! -z $run_fs_image ] ; then
  ROOTFSTYPE="-t ext3"
  for i in 1 2 3 4 5 ; do
  /bin/mount -n -o sync -o noatime -o nodiratime -t vfat /dev/mmcblk0p1
/sdcard && break
  echo Waiting for SD Card...
  sleep 1
  done
  /sbin/losetup /dev/loop0 /sdcard/$run_fs_image
  /bin/mount $ROOTFSTYPE /dev/loop0 /r
  mount -o move /sdcard /r/sdcard
  #/sbin/losetup /dev/loop1 /r/sdcard/swap
  #/sbin/swapon /dev/loop1

elif [ x${ROOT:0:13} = "x/dev/mmcblk0p" ] ; then
  for i in 1 2 3 4 5 ; do
  /bin/mount -n $ROOTFLAGS $ROOTFSTYPE $ROOT /r && break
  echo Waiting for SD Card...
  sleep 1
  done
else
  /bin/mount -n $ROOTFLAGS $ROOTFSTYPE $ROOT /r
fi

you don't have nfsroot= set i nyour cmdline, nor run_fs_image or
/dev/mmcblk0p, so there shouldn't be anything that is stopping it, I wonder
if you just need to pass in the rootfstype=/rootflags= information?  I'd
give it a go on adding rootfstype=yaffs2 myself.  The thinking behind it is
that we don't see a 'Waiting for SD card...' echo'd during the boot log,
nor does it seem to echo any 'nfs' information back either, so it seems
that the last else should be being reached, if that's the case, then the
/bin/mount command is malformed in some way, does that sound logical?

Dave McLaughlin
Hi Reggie,

I tried the rootfstype=yaffs2 but it made no difference. I still got the
same error. I am going to dig through the Mini210 cpio file and see if
there is any differences.

Dave McLaughlin
The Mini210 cpio file is the same apart from the last elif

elif [ x${ROOT:0:13} = "x/dev/mmcblk0p" ] ; then
  for i in 1 2 3 4 5 ; do
  /bin/mount -n $ROOTFLAGS $ROOTFSTYPE $ROOT /r && break
  echo Waiting for SD Card...
  sleep 1
  done
else

The rest is the same. Strange thing is that using the zImage file that
comes on the DVD gives the same results.

Reggie
There is something incredibly odd going on here. I sat down last night and
worked out how to dismantle the cpio file and rebuild one.  I didn't get
round to testing it because I spent hours compiling and testing kernels
with different initramfs settings, every single one of them failed to get
past the loading stage, it would uncompress, say loading kernel and hang.

I used to be able to run a kernel from the SD card and get the same issues
as you're having but it would at least try and attempt to bring the kernel
up, last night it didn't ever get that far.

Personally, I just turned the cpio off, there is very little in there that
anyone actually needs, I just pulled all of the important bits out and
dumped them into the rootfs into their respective folders and added stuff
to whichever init script gets loaded before android grabs the system.

Reggie
I keep forgetting to ask, can you post your FriendlyARM.ini file from
superboot?

Dave McLaughlin
#This line cannot be removed. by FriendlyARM(www.arm9.net)

CheckOneButton=No
Action = Install
OS = Android

LCD-Mode = No
LCD-Type = S70

LowFormat = No
VerifyNandWrite = No
CheckCRC32=No

StatusType = Beeper | LED

################### Android 4.0.3 ####################
Android-BootLoader = Superboot210.bin
Android-Kernel = Android/zImage
Android-CommandLine = root=/dev/mtdblock4 console=ttySAC0,115200
init=/linuxrc androidboot.console=ttySAC0
Android-RootFs-InstallImage = Android/rootfs_android.img

Dave McLaughlin
Ah ha. This is interesting.

I decided to use my kernel build but change to the FA build of Android
4.0.3 image and guess what, it now runs! There must be an issue in my build
of Android 4.0.3

The only issue I have though, is that it thinks that I am using 1-wire
touchscreen and it should be the I2C for the capacitive one.

I then installed the FA zImage and it is the same. Somehow I think that the
image was built for the resistive touch system.

Dave McLaughlin
After messing around with the Linux kernel and changing the command line to
ignore calibration and choose the touch panel I am now able to boot into
Android (FA image supplied on DVD)

I am now working on why my Android build is only 145MB and the FA one is
180MB and won't boot.

At least my kernel now work which I am happier with. Just need my custom
Android version and I am getting closer.

Reggie
that size does sound odd, my android rootfs_dir is 178MB it turns in around
1MB bigger than the friendlyarm one, that's expected because I've added a
patch that throws some code and pngs into the framework.  However, I don't
think that's anything to do with the booting issue.

How are you producing your img file? I'm running everything off SD card
(much easier to handle than the nand) so I cp my rootfs_dir directly to the
 card.  There are instructions to building an mlc image somewhere but I
wonder if there is an issue with the newer mktools?  Like the problem with
the newer superboot not being able to boot the kernel.

In fact, the more I think about it, the fact that it dies on the last line
of the cpio init script tends to suggest that it's the .img/burning that is
at fault.  The only reason that specific error could occur is if the rootfs
nand partition failed to mount.

Dave McLaughlin
I am using the original mkyaffs2image that I used to build the Mini210
Android with. 

I looked at the file for the mktools that came with the Tiny210 and it
appears to be the same size and content so I didn't bother to copy it over.

I am going to capture the output from genrootfs and see what it looks like.

Dave McLaughlin
Found it. 

The first line in genrootfs.sh is #!/bin/sh and I recall having to change
this to #!/bin/bash on my system. Now I have a 215MB image file which would
be correct as I have added all of the GAPPS to my build. The mvapk()
function was failing. I spotted it after I dumped the output to a file. 

DOH!!!

I'll install and test it later. Time for breakfast.

Reggie
oh durp, I forgot about that, I just run 'bash genrootfs.sh' :D  

I'm diffing the fa android source code against the 4.0.3_r1 repo atm, I
expected there to be differences, but not necessarily the ones I'm seeing,
need to pay special attention to the framework etc. If I'm going to stand a
chance at doing anything with a sync'd repo.  there aren't massive
differences though, just a few bits of source code here and there, I'm
going to grab the nexus S binaries and see what's going on there too (as
they're the same chip).

I noticed that they've put DVI as an option for the TV out, I wonder if we
can add dvi monitor resolutions to it, I saw code in there to setup for
H43/W35 ldpi (120) settings, and 800x480 mdpi (200) but nothing for bigger
resolutions, I wonder if we can add to that for a TV out only system ui.

I also noticed stuff in there for 3gusb and sleep, friendlyarm added code,
so it appears that quite a lot of the interface stuff is also there. I
guess starting to learn where the non-stock ics stuff is will be half the
battle in enhancing what they've given us and cleaning up bugs. At the
moment I've got an annoying one where if I set the language to en_gb, it
crashes the display settings if I try and use them, display settings is
where friendlyarm have added code although it could be completely
unrelated.

Dave McLaughlin
Ah ha. It works and so does all the GAPPS I built as part of the package.

Now I can work on all the other stuff and next up is to create my own 3G
dialup app. Better still if I can get it included as part of the OS.

Reggie
congratulations :)

Dave McLaughlin
Thanks Reggie.

Out of curiosity, what are you using to diff all the files? I am just
getting into Linux and this is one application I am missing. I have
editors, file content searches etc but nothing to compare files and show
the details side by side. On the PC I use UltraEdit for this.

Reggie
I'm using an app called 'meld' I'm not to hot on exactly which tools to use
either but that one seems to work ok, it can do file or folder comparison,
although I think anything would struggle with 9GB of data to compare.  I
ended up doing it a folder at a time, was much easier to see what's going
on.

I can sync the android source repo, I haven't transferred any files from
the FA sources yet though, I thought I'd see what I could do with the adt
and eclipse tools, I've managed to get the FA sources (compiled) into
eclipse as a project but I couldn't get the emu to run my system.img.