• Home
  • Help
  • Search
  • Login
  • Register
Pages: 1 [2] 3 4 5
Author Topic: 3.9.0+ Device-tree kernels  (Read 28436 times)
cbxbiker61
Global Moderator
Sr. Member
*****

Karma: 38
Posts: 497


View Profile
« Reply #15 on: May 15, 2013, 07:00:43 PM »

Well I tried the precompiled 3.9.2 kernel on my compiler/test eSata Sheevaplug using the script but my system did not boot. It loaded the uImage but then failed to load. I am pretty sure that the problem is that I am using EXT4 on root (/dev/sda1) and by default, I see that EXT4 is not set up either as a module or builtin.

Therefore, I am starting to build a 3.9.2 kernel with Device Tree from scratch! Its edukayshun innit!

I'm not sure what you're looking at...but it's not the config I'm using, which has always had EXT4 built-in.
Logged

apemberton
Newbie
*

Karma: 1
Posts: 31


View Profile
« Reply #16 on: May 16, 2013, 01:30:55 AM »

@cbxbiker, Yes, of course, you are right as I now see. I should have thought a bit longer as booting the kernel halted after loading it and never got to do anything after. Silly really.

I have now loaded your 3.9.2 kernels for an eSata and a SDHC based Sheevaplugs and they work. It still seems a shame that different .dtb files are needed depending on whether a disk or SDHC is used to boot from. Despite these working, I will still try rolling my own so I understand what is going on - plus I will need bit bashed 1-Wire on my Guruplugs in the not too far distant future.

A nice, easy to read tutorial on .dtb would be welcome (though I havn't looked at the devicetree.org site lately). Onward and upward!

Logged

Tony Pemberton

spinifex
Full Member
***

Karma: 8
Posts: 167



View Profile WWW
« Reply #17 on: May 18, 2013, 08:18:39 PM »

We have 3 (or is it 4) versions of Dreamplug and I think they have different flash memory, yet we have one DTS for the Dreamplug. Does anyone know which models work with the mainline Dreamplug kernel ?
Logged

cbxbiker61
Global Moderator
Sr. Member
*****

Karma: 38
Posts: 497


View Profile
« Reply #18 on: June 20, 2013, 04:23:23 PM »

Current version 3.9.7.

Hey.  I've updated my kernel support script to handle sheevaplug/CuBox/Raspberry Pi.

The sheevaplug and CuBox kernel's are device-tree kernels.  They are built in a compatibility mode so they do not require a u-boot that has device-tree capability.

The Raspberry Pi kernel has been built with gps-gpio support so you can build an inexpensive stratum-1 timeserver.  More details about that in the README.txt.  I just finished building my stratum-1 server yesterday.

http://www.xilka.com/kernel/README.txt

http://www.xilka.com/kernel/UPDATE-KERNEL.sh
Logged

apemberton
Newbie
*

Karma: 1
Posts: 31


View Profile
« Reply #19 on: June 22, 2013, 02:57:59 AM »

@cbxbiker Thanks for your continuing work here.

I have been trying to get the xilka kernel 3.9.7 loaded on to a Guruplug Server Plus and a Tonidoplug (topkick booting from SATA) without success. The kernel hangs at the kernel decompression point in both cases. The Guruplug is running u-boot 2012.10 but the Tonidoplug only has a verion of 1.1.4. At this point, I have no idea why the systems hang while booting as there isn't any reason for failure. The .dtb files for guruplug-server-plus and topkick on the xilka site were used.

I have successfully loaded and run 3.9.7 on an eSATA Sheevaplug. I used a modified version of the UPDATE_KERNEL.sh script file as below:-

Code:
if [[ $Arch == armv5tel ]]; then
Platform='kirkwood'
if grep -qs 'SheevaPlug' /proc/cpuinfo || grep -qs 'SheevaPlug' /proc/device-tree/model; then
AssumedDevice='sheevaplug'
if grep -qs 'eSATA' /proc/cpuinfo || grep -qs 'eSATA' /proc/device-tree/model; then
AssumedDevice='sheevaplug-esata'
fi
CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE $FLASH_ERASEALL $FLASH_ERASE"
elif grep -qs 'GuruPlug' /proc/cpuinfo || grep -qs 'GuruPlug' /proc/device-tree/model; then
AssumedDevice='guruplug-server-plus'
CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE $FLASH_ERASEALL $FLASH_ERASE"
elif grep -qs 'Tonido2' /proc/cpuinfo || grep -qs 'Tonido2' /proc/device-tree/model; then
AssumedDevice='topkick'
CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE $FLASH_ERASEALL $FLASH_ERASE"
fi
elif [[ $Arch == armv7l ]]; then
Platform='dove'
if grep -qs 'CuBox' /proc/cpuinfo || grep -qs 'CuBox' /proc/device-tree/model; then
AssumedDevice='cubox'
fi
CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE"
elif [[ $Arch == armv6l ]] && grep -qs 'BCM2708' '/proc/cpuinfo'; then
Platform='pi'
AssumedDevice='pi'
else
"Unknown architecture: $Arch"
exit 1
fi

echo "$AssumedDevice"

The zImage to uImage build seems to work without error but obviously something is wrong with either the way I am doing things or issues with the .dtb files. Has anyone succeded with Tonidoplug2 or Guruplug implementations of Flattened device tree kernels?

Advice would be welcome.

For the time being, I shall stick to raspbian for my 'pi's.
Logged

Tony Pemberton

cbxbiker61
Global Moderator
Sr. Member
*****

Karma: 38
Posts: 497


View Profile
« Reply #20 on: June 22, 2013, 12:09:51 PM »

Tony, make sure your bootargs have bootdelay=3 and rootwait=3.  This fixes quite a few boot issues, and doesn't noticeably change the boot speed.

It is also possible that device tree hasn't been fully sorted on those devices.  There have been a LOT of commits in the device tree code lately, so thing should be getting better in the 3.10 and 3.11 kernels.
Logged

apemberton
Newbie
*

Karma: 1
Posts: 31


View Profile
« Reply #21 on: July 07, 2013, 05:03:54 AM »

At Last! I have finally got a working device tree kernel for my TP2's!

Code:
login as: root
        _,met$$$$$gg.
     ,g$$$$$$$$$$$$$$$P.
   ,g$$P""       """Y$$.".
  ,$$P'              `$$$.
',$$P       ,ggs.     `$$b:
`d$$'     ,$P"'   .    $$$                               ,#.
 $$P      d$'     ,    $$P      ##:          :##        :###:
 $$:      $$.   -    ,d$$'      ##'          `##         `#'
 $$;      Y$b._   _,d$P'    __  ##     __     ##  __      _     __          _
 Y$$.    `.`"Y$$$$P"'     ,####:##  ,######.  ##.#####. :### ,######. ###.####:
 `$$b      "-.__         ,##' `###  ##:  :##  ###' `###  ##' #:   `## `###' `##:
  `Y$$b                  ##    `##  ##    ##  ##'   `##  ##    ___,##  ##:   `##
   `Y$$.                 ##     ##  #######:  ##     ##  ##  .#######  ##'    ##
     `$$b.               ##     ##  ##'       ##     ##  ##  ##'  `##  ##     ##
       `Y$$b.            ##.   ,##  ##        ##    ,##  ##  ##    ##  ##     ##
         `"Y$b._         :#:._,###  ##:__,##  ##:__,##' ,##. ##.__:##. ##     ##
             `""""       `:#### ###  ######'  `######'  #### `#####"## ##     ##

                           Debian Version jessie/sid
     Linux Version 3.10.0, Compiled #2 PREEMPT Sat Jul 6 20:39:24 BST 2013
              One ARM  Processor, 512M RAM, 789.70 Bogomips Total
                                      MX2



Debian GNU/Linux jessie/sid \n \l

root@mx2.platformtwenty.info's password:
Linux MX2 3.10.0 #2 PREEMPT Sat Jul 6 20:39:24 BST 2013 armv5tel

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Jul  7 12:07:11 2013
root@MX2:~# cd /


I have not had to make code patches or changes for TP2 and the u-boot remains as stock (1.1.4 basically). There are far too many modules in my implementation but as I'm booting from a 1TB drive, space isn't really an issue. Next up is my Guruplugs.

Not sure about how to post or mail my config file.
Logged

Tony Pemberton

apemberton
Newbie
*

Karma: 1
Posts: 31


View Profile
« Reply #22 on: July 07, 2013, 11:24:40 AM »

And further to the above, two of my three Guruplug Server Plus are now running 3.10 although one was very picky about my u-boot settings. I noted there were changes to the kernel code for 3.10 for Guruplugs. Sheevaplugs are not device tree in stock 3.10.

Code:
root@PEMBERTON-NS2:/# fw_printenv
U-Boot=2010.12-03502-g0390ab0 (Apr 20 2011 - 09:39:56)
arcNumber=2659
baudrate=115200
bootargs=console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
bootargs_debian=console=ttyS0,115200 root=/dev/sdb2
bootcmd=run x_bootcmd_usb; run x_bootcmd_disk; setenv bootargs $(bootargs_debian); run bootcmd_nand; bootm 0x00800000 0x01100000
bootdelay=3
eth1addr=02:50:43:34:97:5e
ethact=egiga0
ethaddr=02:50:43:0c:95:90
fileaddr=0x800000
filesize=318F38
ideload=ide reset; sleep 1; ide reset; ext2load ide 0:1 0x6400000 /uImage
if_netconsole=ping $serverip
ipaddr=192.168.2.8
machid=a63
mainlineLinux=yes
preboot=run if_netconsole start_netconsole
serverip=192.168.2.240
start_netconsole=setenv ncip $serverip; setenv stdin nc; setenv stdout nc; setenv stderr nc; version
stderr=serial
stdin=serial
stdout=serial
usbload=usb start; sleep 1; usb start; ext2ls usb 1:1; ext2load usb 1:1 0x6400000 /uImage
x_bootargs=console=ttyS0,115200n8
x_bootargs_bootstrap=console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
x_bootargs_console=console=ttyS0,115200n8
x_bootargs_disk=root=/dev/sda2 rw rootwait
x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
x_bootargs_usb=root=/dev/sdb2 rootdelay=5
x_bootcmd=run x_bootcmd_disk; run x_bootcmd_usb; run x_bootcmd_kernel
x_bootcmd_bootstrap=setenv ipaddr 192.168.2.8; setenv serverip 192.168.2.240; tftpboot 0x6400000 uImage; setenv bootargs $(x_bootargs_bootstrap); bootm 0x6400000
x_bootcmd_disk=setenv bootargs $(x_bootargs_console) $(x_bootargs_disk); run ideload; bootm 0x6400000
x_bootcmd_ethernet=ping 192.168.2.254
x_bootcmd_kernel=setenv bootargs $(x_bootargs_console) $(x_bootargs_root); nand read.e 0x6400000 0x100000 0x400000; bootm 0x6400000
x_bootcmd_network=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet}
x_bootcmd_usb=setenv bootargs $(x_bootargs_console) $(x_bootargs_usb); run usbload; bootm 0x6400000

Logged

Tony Pemberton

apemberton
Newbie
*

Karma: 1
Posts: 31


View Profile
« Reply #23 on: September 01, 2013, 08:16:55 AM »

Although I have the cbxbiker kernel 3.10.9 working on my Sheevaplugs, eSata-Sheevaplugs, Guruplugs, Cubox's and Tonidoplug 2's, there is still a problem with the console port (as seen previously). I copy a posting I made on the NewIT forum which shows my progress so far:-

Quote
I am feeling a bit foolish as I thought the sheevaplug that didn't appear to boot does in fact boot successfully - I have 3.10.9 operating now. It is still the case that the boot sequence at the console port stops displaying just after kernel decompression stage. However ssh'ing into the plug works fine and I have seen the dmesg log which doesn't indicate problems with the console so far as I can see. I have a feeling the problem is with u-boot settings but advice would be welcome. Just for info:-

Code:
root@debian:/# dmesg
Booting Linux on physical CPU 0x0
Initializing cgroup subsys cpu
Initializing cgroup subsys cpuacct
Linux version 3.10.9 (kelly@bbb.internal) (gcc version 4.8.2 20130624 (prerelease) (Linaro GCC 4.8-2013.07) ) #2 Tue Aug 20 17:51:42 MDT 2013
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell Kirkwood (Flattened Device Tree), model: Globalscale Technologies eSATA SheevaPlug
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 131072
free_area_init_node: node 0, pgdat c06b5b44, node_mem_map c090c000
  Normal zone: 1024 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 131072 pages, LIFO batch:31
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttyS0,115200n8 root=/dev/sda2 rw rootwait panic=5
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 512464k/512464k available, 11824k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc062e59c   (6298 kB)
      .init : 0xc062f000 - 0xc066c9b4   ( 247 kB)
      .data : 0xc066e000 - 0xc06ba2b0   ( 305 kB)
       .bss : 0xc06ba2b0 - 0xc0718248   ( 376 kB)
SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:114
sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 21474ms
Console: colour dummy device 80x30
Calibrating delay loop... 1191.11 BogoMIPS (lpj=5955584)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc04903b8 - 0xc04903f4
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
Kirkwood: MV88F6281-A0, TCLK=200000000.
Feroceon L2: Enabling L2
Feroceon L2: Cache support initialised.
bio: create slab <bio-0> at 0
USB Power: Failed to request enable GPIO29: -517
reg-fixed-voltage 1.regulator: Failed to register regulator: -517
platform 1.regulator: Driver reg-fixed-voltage requests probe deferral
vgaarb: loaded
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource orion_clocksource
FS-Cache: Loaded
NET: Registered protocol family 2
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
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 0 bytes, default 32
FS-Cache: Netfs 'nfs' registered for caching
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
JFS: nTxBlock = 4003, nTxLock = 32029
msgmni has been set to 1000
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
kirkwood-pinctrl f1010000.pinctrl: registered pinctrl driver
mv_xor f1060800.xor: Marvell shared XOR driver
mv_xor f1060800.xor: Marvell XOR: ( xor cpy )
mv_xor f1060800.xor: Marvell XOR: ( xor fill cpy )
mv_xor f1060900.xor: Marvell shared XOR driver
mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
mv_xor f1060900.xor: Marvell XOR: ( xor fill cpy )
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
brd: module loaded
loop: module loaded
sata_mv f1080000.sata: version 1.28
sata_mv f1080000.sata: slots 32 ports 2
scsi0 : sata_mv
scsi1 : sata_mv
ata1: SATA max UDMA/133 irq 21
ata2: SATA max UDMA/133 irq 21
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit), 512MiB, page size: 2048, OOB size: 64
Scanning device for bad blocks
Bad eraseblock 326 at 0x0000028c0000
Bad eraseblock 2247 at 0x0000118e0000
Bad eraseblock 3112 at 0x000018500000
3 ofpart partitions found on MTD device orion_nand
Creating 3 MTD partitions on "orion_nand":
0x000000000000-0x000000100000 : "u-boot"
0x000000100000-0x000000500000 : "uImage"
0x000000500000-0x000020000000 : "root"
libphy: orion_mdio_bus: probed
mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address 00:50:43:01:4d:07
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ehci-orion: EHCI orion driver
orion-ehci f1050000.ehci: EHCI Host Controller
orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1
orion-ehci f1050000.ehci: irq 19, io mem 0xf1050000
orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver ums-cypress
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
mousedev: PS/2 mouse device common for all mice
rtc-mv f1010300.rtc: rtc core: registered f1010300.rtc as rtc0
i2c /dev entries driver
cpuidle: using governor ladder
cpuidle: using governor menu
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mvsdio f1090000.mvsdio: using GPIO 44 for card detection
sdhci-pltfm: SDHCI platform and OF driver helper
leds-gpio gpio-leds.2: pins are not configured from the driver
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
zram: Created 1 device(s) ...
TCP: cubic registered
NET: Registered protocol family 10
NET: Registered protocol family 17
Key type dns_resolver registered
registered taskstats version 1
USB Power: 5000 mV
rtc-mv f1010300.rtc: setting system clock to 2013-08-21 22:04:34 UTC (1377122674)
Warning: unable to open an initial console.
ata1: SATA link down (SStatus 0 SControl F300)
usb 1-1: new high-speed USB device number 2 using orion-ehci
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb 1-1.3: new high-speed USB device number 3 using orion-ehci
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
ata2.00: ATA-8: ST9250827AS, 3.AHC, max UDMA/100
ata2.00: 488397168 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata2.00: configured for UDMA/100
scsi 1:0:0:0: Direct-Access     ATA      ST9250827AS      3.AH PQ: 0 ANSI: 5
sd 1:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 1:0:0:0: Attached scsi generic sg0 type 0
hub 1-1.3:1.0: USB hub found
hub 1-1.3:1.0: 4 ports detected
 sda: sda1 sda2
sd 1:0:0:0: [sda] Attached SCSI disk
EXT3-fs (sda2): error: couldn't mount because of unsupported optional features (240)
EXT2-fs (sda2): error: couldn't mount because of unsupported optional features (240)
EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 8:2.
devtmpfs: mounted
Freeing unused kernel memory: 244K (c062f000 - c066c000)
usb 1-1.3.3: new high-speed USB device number 4 using orion-ehci
hub 1-1.3.3:1.0: USB hub found
hub 1-1.3.3:1.0: 4 ports detected
udevd[786]: starting version 175
orion_wdt: Initial timeout 21 sec
EXT4-fs (sda2): re-mounted. Opts: (null)
EXT4-fs (sda2): re-mounted. Opts: (null)
Adding 1048572k swap on /var/cache/swap/swapfile.  Priority:-1 extents:20 across:1990652k FS
fuse init (API version 7.22)
mv643xx_eth_port mv643xx_eth_port.0 eth0: link down
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control disabled
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

It was pointed out to me that:-

Quote
Your log has
Quote
Warning: unable to open an initial console.
But no mention of
Code:
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
console [ttyS0] enabled

Check your kernel configuration


Further investigation shows:-

Quote

Yes, the missing lines are a clue. Incidentally, I am using the cbxbiker/xilka kernel 3.10.9 without modification.

The current dmesg does show
Code:
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled

but not the rest.

I had a brief look at the config files for both 3.7.7 and 3.10.9 as per /proc/config.gz but so far I do not see differences for the 8250 or console settings.

Since the 3.7.7 is non-DT while 3.9.7 onward is DT, I am wondering if there is a dtb patch issue. But that doesn't really explain why the console on my other eSata sheevaplugs running DT 3.9.7 do not have a problem.

Anyway, now I know what is happening, I can sideline the problem and concentrate on other projects such as getting my Pi's to monitor my doors and get some motorised radiator valves before the cold weather comes. I also need to rebuild the guruplugs with external power, heatsinks and the DS18B00 temp monitor. Then I need to cut the grass, do the washing, feed the cats..... Cheesy

Next day.....

OK I have performed updates to dtb kernel 3.10.9 on Tonidoplugs and a guruplug as well as the other esata and non esata sheevaplugs courtesy of cbxbiker's xilka kernels. It seems that all reboot into Debian and work although the TP2's and GP needs to be rebooted from a power off.  However it seems that the console output stops after the kernel decompression statement as before on all devices. After ssl connecting, I can see the dmesg shows the 'serial: 8250/16550 driver......' line but not the following two console lines. Looking at the syslog, I see periodic
Code:
init: Id "T0" respawning too fast: disabled for 5 minutes
which is an error which can be turned off by commenting out the line
Code:
T0:23:respawn:/sbin/getty -L ttyS0 115200 linux
in /etc/inittab. I am therefore of the opinion that there is something wrong with the device tree code concerning the console (I don't think netconsole is configured or compiled judging by /proc/config.gz) code and patches. Further, I think the device tree reboot/reset has a problem with Guruplugs and TP2's.

I also had to modify the UPDATE_KERNEL.sh for Tonidoplug and Guruplug since there are mismatches between the entries in /proc/device-tree/model and the script which is not altogether surprising as it is unlikely that cbxbiker has all the variants of hardware!

I will post a summary on the plugcomputer forum in due course.

One week later (01SEP/2013)....

Having installed cbxbiker's device tree kernel on Sheevaplugs, eSata-Sheevaplugs, Guruplugs, Cuboxes and Tonido2's, I can say that they all suffer from the same kernel problem in that there is no serial console output after kernel decompression (although obviously, as the kernel works, compression is not the problem). Observation shows that they all reported the T0 problem in the syslog as above. It also seems that the kernel will not complete the boot process on Sheevaplugs and Guruplugs unless a device is connected to the console port - which is a bit of a nuisance (understatement). I havn't seen any correspondence elsewhere about this problem though it must be said that 3.10.9 is quite recent and thus not many comments about this are likely. I also confess to not having searched the web in detail either. I am not convinced that u-boot has anything to do with this as I'm running different versions from a 2009.? to a 2013.07 ( on Cubox's which can boot from an ext4 formatted disk).

If anybody has info on this problem, or where to find it, I would be grateful.

Logged

Tony Pemberton

marcus11
Newbie
*

Karma: 0
Posts: 8


View Profile
« Reply #24 on: September 07, 2013, 05:50:01 AM »

I can confirm the same results as Tony.
With a stock debian kernel I get boot and console, with a cbxbiker devicetree kernel I don't get boot messages or a console.

What I've tried:
1. Recompile uboot from the repository with the FDT option enabled.  No change.  (see attachments).
2. Change multiple nvram options including console etc, with no change i.e. on the off-chance that the kernel would see the same device name that uboot has in its config... "serial".  No change.
3. Research the addition of devicetree for the kirkwood platform.  Links I've looked at that gave me quite a bit of understanding but no resolution:
Quite a bit of info on the initial integration of devicetree for this platform, including the serial devices that are broken:
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/089320.html
http://www.mail-archive.com/devicetree-discuss@lists.ozlabs.org/msg12134.html
http://www.mail-archive.com/devicetree-discuss@lists.ozlabs.org/msg12063.html
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/089248.html

So, at this point I'm convinced it's a kernel bug (up to and including 3.11)  as the serial devices are not registering and thus can't be used by the boot or console processes.  It could be a devicetree issue with the defintions for the hardware and configuration, or it could be an issue with the drivers being configured by the devicetree.  I can't say that debugging this is my speciality Sad

The .dts / .dtsi files for the base kirkwood platform and the sheevaplug 'customisations' conform with the mailing list posts, so if it is a bug, it's in the kernel assuming cbxbiker has not changed the devicetree details.

Sad

Updated uboot attached, flash like so:
copy to fat16 usb stick (unzip)
in existing console:
fatload usb 0 0x800000 u-boot.kwb
nand erase 0x0 0x80000
nand write 0x0800000 0x0 0x80000

Build instructions and patches for the built binary from https://doukki.net/doku.php?id=wiki:tutoriels:uboot.howto



* u-boot.7z (169.86 KB - downloaded 125 times.)
Logged

marcus11
Newbie
*

Karma: 0
Posts: 8


View Profile
« Reply #25 on: September 14, 2013, 08:21:33 PM »

OK, so I'm settling on the fact that devicetree is evil and additionally no one cares about fixing it.  Who am I to go against the flow? Smiley

I upgraded from debian wheezy (originally installed via network installer to sd card) to debian jessie, which at the time of writing had a non-device-tree kernel 3.10.2 with the revolutionary benefit of console output.

Here's my environment excluding ethaddr:
Code:
baudrate=115200
bootcmd=run x_bootcmd; run z_bootstrap; reset;
bootdelay=3
console=console=ttyS0,115200n8
ethact=egiga0
filesize=1c7038
initrdaddr=0x01100000
initrdfile=/uInitrd
kerneladdr=0x00800000
kernelfile=/uImage
loadcmd=ext2load mmc 0:1
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:768k(uboot),256k(uboot_env),11m@1m(kernel),-@12m(rootfs)
scriptaddr=0x00800000
scriptfile=/boot/boot.scr
stderr=serial
stdin=serial
stdout=serial
x_bootargs=console=ttyS0,115200n8 earlyprintk mtdparts=orion_nand:768k(uboot),256k(uboot_env),11m@1m(kernel),-@12m(rootfs)
x_bootargs_root=root=/dev/mmcblk0p2 rootdelay=5
x_bootcmd=${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; run z_bootinit;
x_bootcmd_kernel=echo ====== BootStrap start ======
x_bootcmd_mtd=nand read.e ${kerneladdr} kernel 0x00b00000;
x_bootstrap_cmd=for device in "mmc"; do for fs in "ext2"; do setenv loadcmd "${fs}load ${device} 0:1"; if ${loadcmd} ${kerneladdr} ${kernelfile}; then; if ${loadcmd} ${initrdaddr} ${initrdfile}; then; run z_bootcmd; fi; fi; done; done;
z_bootcmd=if imi ${kerneladdr}; then; bootm ${kerneladdr} ${initrdaddr}; else; echo --- next bootcmd device try ---; fi;
z_bootfail=echo ====== BootStrap end ======
z_bootinit=mmc rescan; usb reset; ide reset;
z_bootstrap=run z_bootinit; run x_bootstrap_scr; run x_bootstrap_cmd; run x_bootcmd_mtd; run z_bootfail;

If my notes are to be believed, this should be the set of commands to change the stock nvram to the above:
Code:
setenv initrdaddr 0x01100000
setenv initrdfile /uInitrd
setenv kerneladdr 0x00800000
setenv kernelfile /uImage
setenv x_bootargs 'console=ttyS0,115200n8 earlyprintk mtdparts=orion_nand:768k(uboot),256k(uboot_env),11m@1m(kernel),-@12m(rootfs)'
setenv x_bootargs_root 'root=/dev/mmcblk0p2 rootdelay=5'
setenv x_bootstrap_cmd 'for device in "mmc"; do for fs in "ext2"; do setenv loadcmd "${fs}load ${device} 0:1"; if ${loadcmd} ${kerneladdr} ${kernelfile}; then; if ${loadcmd} ${initrdaddr} ${initrdfile}; then; run z_bootcmd; fi; fi; done; done;''
setenv z_bootcmd 'if imi ${kerneladdr}; then; bootm ${kerneladdr} ${initrdaddr}; else; echo --- next bootcmd device try ---; fi;''
saveenv

Dmesg from boot:
Code:
1863736 bytes read in 1135 ms (1.6 MiB/s)
8186974 bytes read in 3301 ms (2.4 MiB/s)

## Checking Image at 00800000 ...
   Legacy image found
   Image Name:   kernel 3.10-2-kirkwood
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1863672 Bytes = 1.8 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   kernel 3.10-2-kirkwood
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1863672 Bytes = 1.8 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   ramdisk 3.10-2-kirkwood
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    8186910 Bytes = 7.8 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10-2-kirkwood (debian-kernel@lists.debian.org) (gcc version 4.7.3 (Debian 4.7.3-6) ) #1 Debian 3.10.7-1 (2013-08-17)
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: Marvell SheevaPlug Reference Board
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyS0,115200n8 earlyprintk mtdparts=orion_nand:768k(uboot),256k(uboot_env),11m@1m(kernel),-@12m(rootfs) root=/dev/mmcblk0p2 rootdelay=5
[    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: 512MB = 512MB total
[    0.000000] Memory: 506060k/506060k available, 18228k 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]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc04ab190   (4749 kB)
[    0.000000]       .init : 0xc04ac000 - 0xc04da004   ( 185 kB)
[    0.000000]       .data : 0xc04dc000 - 0xc05284a0   ( 306 kB)
[    0.000000]        .bss : 0xc05284a0 - 0xc058ea1c   ( 410 kB)
[    0.000000] NR_IRQS:114
[    0.000000] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 21474ms
[    0.000000] Console: colour dummy device 80x30
[    0.621696] Calibrating delay loop... 1191.11 BogoMIPS (lpj=5955584)
[    0.709875] pid_max: default: 32768 minimum: 301
[    0.714686] Security Framework initialized
[    0.718922] Yama: disabled by default; enable with sysctl kernel.yama.*
[    0.725713] Mount-cache hash table entries: 512
[    0.730913] Initializing cgroup subsys memory
[    0.735423] Initializing cgroup subsys devices
[    0.740007] Initializing cgroup subsys freezer
[    0.744564] Initializing cgroup subsys net_cls
[    0.749133] Initializing cgroup subsys blkio
[    0.753508] Initializing cgroup subsys perf_event
[    0.758417] CPU: Testing write buffer coherency: ok
[    0.763741] Setting up static identity map for 0xc0355090 - 0xc03550cc
[    0.771841] devtmpfs: initialized
[    0.777304] pinctrl core: initialized pinctrl subsystem
[    0.782950] regulator-dummy: no parameters
[    0.787481] NET: Registered protocol family 16
[    0.792394] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.800132] Kirkwood: MV88F6281-A0, TCLK=200000000.
[    0.805134] Feroceon L2: Enabling L2
[    0.808866] Feroceon L2: Cache support initialised.
[    0.816589] bio: create slab <bio-0> at 0
[    0.821179] vgaarb: loaded
[    0.824567] Switching to clocksource orion_clocksource
[    0.844026] NET: Registered protocol family 2
[    0.849050] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    0.856331] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.862943] TCP: Hash tables configured (established 4096 bind 4096)
[    0.869497] TCP: reno registered
[    0.872844] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.878801] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.885367] NET: Registered protocol family 1
[    0.890034] Unpacking initramfs...
[    1.614863] Freeing initrd memory: 7988K (c1101000 - c18ce000)
[    1.620887] NetWinder Floating Point Emulator V0.97 (double precision)
[    1.628150] audit: initializing netlink socket (disabled)
[    1.633715] type=2000 audit(1.010:1): initialized
[    1.639402] VFS: Disk quotas dquot_6.5.2
[    1.643506] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.650288] jffs2: version 2.2. (NAND) (SUMMARY)   2001-2006 Red Hat, Inc.
[    1.657647] msgmni has been set to 1004
[    1.663353] alg: No test for stdrng (krng)
[    1.667622] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.675277] io scheduler noop registered
[    1.679301] io scheduler deadline registered
[    1.683716] io scheduler cfq registered (default)
[    1.688643] mv_xor mv_xor.0: Marvell shared XOR driver
[    1.729904] mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
[    1.769891] mv_xor mv_xor.0: Marvell XOR: ( xor fill cpy )
[    1.775608] mv_xor mv_xor.1: Marvell shared XOR driver
[    1.819891] mv_xor mv_xor.1: Marvell XOR: ( xor cpy )
[    1.859891] mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
[    1.865751] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    1.892834] serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
[    1.899750] console [ttyS0] enabled, bootconsole disabled
[    1.899750] console [ttyS0] enabled, bootconsole disabled
[    1.911659] NAND device: Manufacturer ID: 0xad, Chip ID: 0xdc (Hynix NAND 512MiB 3,3V 8-bit), 512MiB, page size: 2048, OOB size: 64
[    1.923563] Scanning device for bad blocks
[    2.199793] Bad eraseblock 3655 at 0x00001c8e0000
[    2.237313] 4 cmdlinepart partitions found on MTD device orion_nand
[    2.243619] Creating 4 MTD partitions on "orion_nand":
[    2.248783] 0x000000000000-0x0000000c0000 : "uboot"
[    2.254491] 0x0000000c0000-0x000000100000 : "uboot_env"
[    2.260538] 0x000000100000-0x000000c00000 : "kernel"
[    2.266298] 0x000000c00000-0x000020000000 : "rootfs"
[    2.272960] mousedev: PS/2 mouse device common for all mice
[    2.278870] rtc-mv rtc-mv: rtc core: registered rtc-mv as rtc0
[    2.284823] i2c /dev entries driver
[    2.288484] cpuidle: using governor ladder
[    2.292613] cpuidle: using governor menu
[    2.296738] leds-gpio leds-gpio: pins are not configured from the driver
[    2.304012] TCP: cubic registered
[    2.307382] NET: Registered protocol family 10
[    2.312460] mip6: Mobile IPv6
[    2.315444] NET: Registered protocol family 17
[    2.320435] registered taskstats version 1
[    2.325385] rtc-mv rtc-mv: setting system clock to 2013-09-15 03:18:36 UTC (1379215116)
[    2.334196] Freeing unused kernel memory: 184K (c04ac000 - c04da000)
Loading, please wait...
[    2.410432] udevd[47]: starting version 175
[    2.477983] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
[    2.573579] libphy: orion_mdio_bus: probed
[    2.577789] mvsdio mvsdio: no pins associated
[    2.619912] mvsdio mvsdio: lacking card detect (fall back to polling)
[    2.627833] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address yesitwashere
[    2.677557] mmc0: host does not support reading read-only switch. assuming write-enable.
[    2.705241] mmc0: new high speed SDHC card at address e624
[    2.777872] mmcblk0: mmc0:e624 SU16G 14.8 GiB
[    2.785468]  mmcblk0: p1 p2 p3 < p5 >
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
[    8.150449] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
INIT: version 2.88 booting
[info] Using makefile-style concurrent boot in runlevel S.
[....] Starting the hotplug events dispatcher: udevd[    9.267427] udevd[233]: starting version 175
. ok
[....] Synthesizing the initial hotplug events...[    9.606553] usbcore: registered new interface driver usbfs
[    9.684436] usbcore: registered new interface driver hub
[    9.794565] usbcore: registered new device driver usb
[ ok [    9.859317] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
done.
[    9.930267] ehci-orion: EHCI orion driver
[    9.961406] orion_wdt: Initial timeout 21 sec
[    9.987955] orion-ehci orion-ehci.0: EHCI Host Controller
[....] Waiting for /dev to be fully populated...[   10.024149] orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
[   10.063389] orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
[   10.087980] orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
[   10.094041] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[   10.100872] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.108128] usb usb1: Product: EHCI Host Controller
[   10.113041] usb usb1: Manufacturer: Linux 3.10-2-kirkwood ehci_hcd
[   10.119246] usb usb1: SerialNumber: orion-ehci.0
[   10.124794] hub 1-0:1.0: USB hub found
[   10.128572] hub 1-0:1.0: 1 port detected
done.
[....] Activating swap...[   10.730199] Adding 706556k swap on /dev/mmcblk0p5.  Priority:-1 extents:1 across:706556k SS
done.
[   10.831368] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[....] Checking root file system...fsck from util-linux 2.20.1
plug-rootfs: clean, 37378/913920 files, 317077/3650048 blocks
done.
[   11.124271] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro
[ ok ] Activating lvm and md swap...done.
[....] Checking file systems...fsck from util-linux 2.20.1
plug-boot: clean, 31/124496 files, 63828/248832 blocks
done.
[ ok ] Cleaning up temporary files... /tmp.
[info] Loading kernel module loop.
[   12.473476] loop: module loaded
[ ok ] Mounting local filesystems...done.
[ ok ] Activating swapfile swap...done.
[ ok ] Cleaning up temporary files....
[ ok ] Setting kernel variables ...done.
[ ok ] Configuring network interfaces...done.
[....] Starting rpcbind daemon..[   14.348973] mv643xx_eth_port mv643xx_eth_port.0 eth0: link down
.[   14.356070] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
. ok
[....] Starting NFS common utilities: statd[   14.761025] RPC: Registered named UNIX socket transport module.
[   14.766977] RPC: Registered udp transport module.
[   14.771727] RPC: Registered tcp transport module.
[   14.776446] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   14.801549] FS-Cache: Loaded
[   14.807949] Key type dns_resolver registered
[   14.842305] FS-Cache: Netfs 'nfs' registered for caching
[   14.897680] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ ok pd.
[ ok ] Cleaning up temporary files....
INIT: Entering runlevel: 2
[info] Using makefile-style concurrent boot in runlevel 2.
[ ok ] Starting enhanced syslogd: rsyslogd.
[ ok ] Starting NFS common utilities: statd idmapd.
[ ok ] Starting deferred execution scheduler: atd.
[ ok ] Starting periodic command scheduler: cron.
[ ok ] Starting system message bus: dbus.
[....] Starting MTA:[   17.485752] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control disabled
[   17.495841] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ ok 4.
[ ok ] Starting NTP server: ntpd.
[ ok ] Starting OpenBSD Secure Shell server: sshd.

Debian GNU/Linux jessie/sid sheeva ttyS0

sheeva login:

Enjoy!
Logged

apemberton
Newbie
*

Karma: 1
Posts: 31


View Profile
« Reply #26 on: September 15, 2013, 02:09:53 AM »

Marcus, I had my suspicions that Device Tree for Kirkwood and Dove kernels were the problem and your work confirms that. Thankyou. I would have tried compiling a non-dt kernel but time has not permitted experimentation. I now no longer need to. I am puzzled why there are no more reports of this problem from others though? I do not want to delve into kernel issues as I want to consider the kernel as a 'black box'. Increasingly it seems that I have to. The same is true of u-boot. I want the latest versions to have significant improvements or corrections to the system - much like Microsoft Windows has updates that should be bulletproof (well that is a commercial product - OK I've got the carbolic soap ready to wash my mouth out). I am wondering if Netconsole is compiled into the kernel which might give a workable console when the serial port does not.

I also have had problems with hard disk or SDHC writes which may be kernel synchronisation with the HDD or the SDHC hardware and I have the feeling that there is something wrong with low level file system software (it seems that the problem happens to ext3 and ext4 formatted partitions) and I have seen slow writes being a problem. Every so often the number of errors seem to make a disk go read-only and requires a reboot to force a fs check. That corrects i-node errors. I note that the errors are frequently in the same 'place' so that suggests that a regular type of write for a certain section of code. That said, I think that the temperature inside sheeva and guruplugs may be a factor and a nice version of sensors for sheevaplug would be nice.

Thanks also for the u-boot BTW. I had noticed compilation issues with my version in that mmc has been 'mucked about with' and I want ext4 built in.
Logged

Tony Pemberton

marcus11
Newbie
*

Karma: 0
Posts: 8


View Profile
« Reply #27 on: September 15, 2013, 03:01:54 AM »

Hi Tony,

I've researched the 'slowdowns' and found that in my case the SD card had been optimized by the manufacturer for cameras etc with large block sizes for read/writes. This will make a login to linux take up to 10s - 10-20 IOPS! Absolutely pathetic. 

If you can get the Sandisk Mobile Micro Ultra 16-64gb cards they are made for small read/writes in phones and I've benched them doing 4kb read/writes at 300 IOPS / 16gb card and 400IOPS / 64gb card.

They also support trim (sadly only exists as an IOCTL in the raspberry pi kernel, not the sheeva) and supposedly have some wear leveling according to the data sheets.

Suffice to say I won't use anything else any more.

The numbers speak for themselves:
Code:
transcend micro class 6

-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    14.871 MB/s
          Sequential Write :    11.002 MB/s
         Random Read 512KB :    14.822 MB/s
        Random Write 512KB :     1.744 MB/s
    Random Read 4KB (QD=1) :     3.993 MB/s [   974.8 IOPS]
   Random Write 4KB (QD=1) :     0.017 MB/s [     4.1 IOPS]
   Random Read 4KB (QD=32) :     4.467 MB/s [  1090.6 IOPS]
  Random Write 4KB (QD=32) :     0.021 MB/s [     5.2 IOPS]

  Test : 100 MB [F: 0.0% (0.0/7770.9 MB)] (x1)
  Date : 2013/05/18 8:54:14
   
 

sandisk 64gb microsd class 6
-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    21.177 MB/s
          Sequential Write :     6.972 MB/s
         Random Read 512KB :    21.017 MB/s
        Random Write 512KB :     1.003 MB/s
    Random Read 4KB (QD=1) :     3.572 MB/s [   872.2 IOPS]
   Random Write 4KB (QD=1) :     1.378 MB/s [   336.4 IOPS]
   Random Read 4KB (QD=32) :     3.515 MB/s [   858.1 IOPS]
  Random Write 4KB (QD=32) :     1.454 MB/s [   355.0 IOPS]

  Test : 100 MB [D: 82.7% (49.2/59.5 GB)] (x1)
  Date : 2013/05/18 8:59:37
   
 

kingston 32gb class 4
-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    17.142 MB/s
          Sequential Write :     4.246 MB/s
         Random Read 512KB :    17.117 MB/s
        Random Write 512KB :     0.665 MB/s
    Random Read 4KB (QD=1) :     2.113 MB/s [   516.0 IOPS]
   Random Write 4KB (QD=1) :     0.006 MB/s [     1.5 IOPS]
   Random Read 4KB (QD=32) :     2.216 MB/s [   541.1 IOPS]
  Random Write 4KB (QD=32) :     0.006 MB/s [     1.4 IOPS]

  Test : 100 MB [D: 0.0% (0.0/29.9 GB)] (x1)
  Date : 2013/05/18 9:23:40
   
 

sandisk 1gb
-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    11.678 MB/s
          Sequential Write :     4.160 MB/s
         Random Read 512KB :    11.576 MB/s
        Random Write 512KB :     1.977 MB/s
    Random Read 4KB (QD=1) :     4.960 MB/s [  1210.9 IOPS]
   Random Write 4KB (QD=1) :     0.027 MB/s [     6.6 IOPS]
   Random Read 4KB (QD=32) :     5.199 MB/s [  1269.3 IOPS]
  Random Write 4KB (QD=32) :     0.027 MB/s [     6.5 IOPS]

  Test : 50 MB [D: 93.0% (897.1/964.7 MB)] (x1)
  Date : 2013/05/18 9:32:44
   


  patriot lx 16gb
-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    20.039 MB/s
          Sequential Write :    15.863 MB/s
         Random Read 512KB :    17.797 MB/s
        Random Write 512KB :     1.148 MB/s
    Random Read 4KB (QD=1) :     2.179 MB/s [   532.0 IOPS]
   Random Write 4KB (QD=1) :     0.157 MB/s [    38.4 IOPS]
   Random Read 4KB (QD=32) :     2.604 MB/s [   635.6 IOPS]
  Random Write 4KB (QD=32) :     0.157 MB/s [    38.3 IOPS]

  Test : 50 MB [F: 0.0% (0.0/14.9 GB)] (x1)
  Date : 2013/05/18 10:18:33
   



samsung 16gb
-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    18.567 MB/s
          Sequential Write :    17.378 MB/s
         Random Read 512KB :    17.577 MB/s
        Random Write 512KB :     1.365 MB/s
    Random Read 4KB (QD=1) :     2.760 MB/s [   673.8 IOPS]
   Random Write 4KB (QD=1) :     0.014 MB/s [     3.3 IOPS]
   Random Read 4KB (QD=32) :     2.875 MB/s [   701.9 IOPS]
  Random Write 4KB (QD=32) :     0.018 MB/s [     4.3 IOPS]

  Test : 100 MB [F: 0.0% (0.0/15.1 GB)] (x1)
  Date : 2013/06/26 18:31:28
   
 

sandisk 64gb micro ultra mobile class 10
-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    21.347 MB/s
          Sequential Write :     8.861 MB/s
         Random Read 512KB :    21.531 MB/s
        Random Write 512KB :    10.338 MB/s
    Random Read 4KB (QD=1) :     5.318 MB/s [  1298.4 IOPS]
   Random Write 4KB (QD=1) :     1.713 MB/s [   418.3 IOPS]
   Random Read 4KB (QD=32) :     4.727 MB/s [  1154.1 IOPS]
  Random Write 4KB (QD=32) :     1.682 MB/s [   410.7 IOPS]

  Test : 100 MB [D: 0.0% (0.0/59.4 GB)] (x1)
  Date : 2013/06/26 18:40:21

Glad I could help with uboot.

Cheers,
marcus
Logged

apemberton
Newbie
*

Karma: 1
Posts: 31


View Profile
« Reply #28 on: September 15, 2013, 05:22:31 AM »

Marcus,

Thanks for your survey. Actually I am using 32Gb Sandisk Mobile ultra for my Guruplugs! I use 16Gb Integral Endurance (which had been recommended by NewIT because of their Single Layer Cell structure) for the two standard sheevaplugs. However, my other three Sheevaplugs are eSata and boot from the HDD drives (3Gb/Sec interfaces) and I am struggling to rebuild my development system with new 320Gb Western Digital Scorpio Blue drives. Although it cannot be related directly to the Guruplugs, I have tried things like 50cm cables, common power supplies (to avoid ground loops), replaced corroded RTC batteries but still there are issues. I have not seen problems with my eSata Tonidoplugs (also kirkwood) which boot from internal 1TB eSata disks.

I will say that the i-node errors seem to occur at approximately the same location which suggests overuse of the same cells of disk sector.

I did also find these errors on an old 3.7.7 non-Device Tree kernels.  Undecided

I am considering setting up a cron job to reboot my systems automatically during sleeping hours to effect a fsck daily.
Logged

Tony Pemberton

apemberton
Newbie
*

Karma: 1
Posts: 31


View Profile
« Reply #29 on: September 15, 2013, 05:58:32 AM »

Just to add dmesg HDD errors for an esata sheevaplug:-

Code:
ata2: exception Emask 0x10 SAct 0x0 SErr 0x180000 action 0x6 frozen
ata2: edma_err_cause=00000020 pp_flags=00000000, SError=00180000
ata2: SError: { 10B8B Dispar }
ata2: hard resetting link
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
ata2.00: configured for UDMA/133
ata2: EH complete
ata2: exception Emask 0x10 SAct 0x0 SErr 0x180000 action 0x6 frozen
ata2: edma_err_cause=00000020 pp_flags=00000003, SError=00180000
ata2: SError: { 10B8B Dispar }
ata2: hard resetting link
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
ata2.00: configured for UDMA/133
ata2: EH complete

2 Errors since last reboot a few days ago. At least these are not destructive. Kernel is DT 3.10.9
Logged

Tony Pemberton

Pages: 1 [2] 3 4 5
Print
Jump to: