Hi guys,
I'm having some trouble with a TS-7200 booting from a compact flash and I'm running out of ideas. Hope you can help me.
I had a appliance with the TS-7200 were I run some software were I mess with a usb-rs232 connection, usb-485 connection, udev, the leds and some php and web application.
From the beggining of the project (3 years ago) I decided to go with a kernel version of the 2.6. I create my custom version of the 2.6.29 (I just added some usb-serial drivers by default, no big deal), but I have also work with a some of the kernels on the TS webpage. Anyway, I sticked with 2.6.29, and at the moment, in the last 3 years I have installed more less a 100 systems that are running fine.
However, some weeks ago I needed to deploy another 25+ units. As I was running out of compact flash, I bought a batch of 40. I usually use Kingston 4 GB CF, however I had to buy some Trascend 8 GB CF, as the other ones were not avialable.
The problem begin when I tried to place my filesystem on the new compact flash. On a same TS7200, with my custom kernel loaded on flash, the old Kingston would run fine, while the Trascend Compact Flash would give me an error of not finding the filesystem.
I made some investigation and read that there were two modes on compact flash, industrial mode and commercial mode. So I assumed that maybe the new compact flash I bought, were of a different "mode" than the other ones, and that maybe, in order to made them work, I'd have to recompile the kernel and add a different driver ( I must say that both Trascend and Kingston CF were visible on my Laptop with a Manhattan Multi-card reader/writer. I also must say, that I tried with 5 different Trascend CF, so I don't think it was because of a faulty unit).
However I had some preassure on time, so I decided to change provider and go for the old Kignston 4 GB I used on my other systems.
But I didn't have luck... the new Kingston units didn't work either, and I got the exact same error as in the Trascend, the filesystem was not recogniced. And I tried with 5 of those units too...
I have tried the following:
* Adding old ATA / SATA drivers to the kernel 2.6.29
* Upgrading to Kernel 2.6.34 (using matt's patches, and files from: http://mcrapet.free.fr/) * Several modifications on the kernel, regarding to SCSI, ATA, SATA and PATA.
The results are not satisfactorial and weird. For example, in order to load the kernel into the flash, I have to use a 32 GB Patrio Memory CF. If I try to use the Trascend, when I flash the kernel, It start sending messages of "CRC Error" and wont bot at all (anything).
The only constant I have received is a problem related to IRQ 32 and some address problem. I'll copy the code of my last attempt on the 2.6.34 Kernel:
--
RAM: 0x00000000-0x02000000, [0x00044f88-0x01fdd000] available FLASH: 0x60000000 - 0x60800000, 64 blocks of 0x00020000 bytes each. == Executing boot script in 0.100 seconds - enter ^C to abort RedBoot> fis load zImage RedBoot> exec -c "console=ttyAM0,115200 root=/dev/sda1" Using base address 0x00218000 and length 0x00160000 Uncompressing Linux... done, booting the kernel. Linux version 2.6.34-m (gcc version 3.4.4 (release) (CodeSourcery ARM 205 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=40007177 CPU: VIVT data cache, VIVT instruction cache Machine: Technologic Systems TS-72xx SBC Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8016 Kernel command line: console=ttyAM0,115200 root=/dev/sda1 PID hash table entries: 128 (order: -3, 512 bytes) Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory: 8MB 8MB 8MB 8MB = 32MB total Memory: 29648k/29648k available, 3120k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) DMA : 0xffc00000 - 0xffe00000 ( 2 MB) vmalloc : 0xc6000000 - 0xfe800000 ( 904 MB) lowmem : 0xc0000000 - 0xc5800000 ( 88 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .init : 0xc0008000 - 0xc0022000 ( 104 kB) .text : 0xc0022000 - 0xc0264000 (2312 kB) .data : 0xc027a000 - 0xc0295160 ( 109 kB) Hierarchical RCU implementation. NR_IRQS:120 VIC @fefb0000: id 0x00041190, vendor 0x41 VIC @fefc0000: id 0x00041190, vendor 0x41 Calibrating delay loop... 99.73 BogoMIPS (lpj=498688) Security Framework initialized Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok NET: Registered protocol family 16 ep93xx clock: PLL1 running at 400 MHz, PLL2 at 192 MHz ep93xx clock: FCLK 200 MHz, HCLK 100 MHz, PCLK 50 MHz ep93xx dma_m2p: M2P DMA subsystem initialized ep93xx dma_m2m: M2M DMA subsystem initialized bio: create slab <bio-0> at 0 SCSI subsystem initialized NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) 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 NetWinder Floating Point Emulator V0.97 (double precision) msgmni has been set to 57 alg: No test for stdrng (krng) io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) Serial: AMBA driver apb:uart1: ttyAM0 at MMIO 0x808c0000 (irq = 52) is a AMBA console [ttyAM0] enabled apb:uart2: ttyAM1 at MMIO 0x808d0000 (irq = 54) is a AMBA apb:uart3: ttyAM2 at MMIO 0x808e0000 (irq = 55) is a AMBA scsi0 : pata_ts72xx ata1: PATA max PIO4 mmio cmd 0x11000000 ctl 0x10400006 irq 32 irq 32: nobody cared (try booting with the "irqpoll" option) Function entered at [<c0028848>] from [<c0066648>] Function entered at [<c0066648>] from [<c00667f8>] Function entered at [<c00667f8>] from [<c00674d4>] Function entered at [<c00674d4>] from [<c0022068>] Function entered at [<c0022068>] from [<c0022a78>] Exception stack(0xc542bd18 to 0xc542bd60) bd00: c0281f84 c0281f84 bd20: c02a5f60 20000013 c542a000 c028e8f4 00000000 00000202 00000000 c542a000 bd40: c549d4c4 0000000a c542bd98 c542bd60 c00410a8 c0040d90 20000013 ffffffff Function entered at [<c0022a78>] from [<c0040d90>] Function entered at [<c0040d90>] from [<c00410a8>] Function entered at [<c00410a8>] from [<c002206c>] Function entered at [<c002206c>] from [<c0022a78>] Exception stack(0xc542bda8 to 0xc542bdf0) bda0: c6024006 000000a0 ffff8fa9 00000050 c549c024 c549d4c4 bdc0: c549d380 ffff8fa9 00000001 c549d4c4 c549d4c4 ffff8fa9 00000002 c542bdf0 bde0: c0174834 c0174834 a0000013 ffffffff Function entered at [<c0022a78>] from [<c0174834>] Function entered at [<c0174834>] from [<c01768a4>] Function entered at [<c01768a4>] from [<c0176b84>] Function entered at [<c0176b84>] from [<c0172454>] Function entered at [<c0172454>] from [<c0172968>] Function entered at [<c0172968>] from [<c0173918>] Function entered at [<c0173918>] from [<c017455c>] Function entered at [<c017455c>] from [<c0176fd4>] Function entered at [<c0176fd4>] from [<c0170b94>] Function entered at [<c0170b94>] from [<c0157d20>] Function entered at [<c0157d20>] from [<c0051528>] Function entered at [<c0051528>] from [<c0023f30>] handlers: [<c0176450>] Disabling IRQ #32 TS-7200 flash mapping: 8mo at 0x60000000 Full TS-7200 NOR flash: Found 1 x16 devices at 0x0 in 16-bit bank Intel/Sharp Extended Query Table at 0x0031 Intel/Sharp Extended Query Table at 0x0031 Using buffer write method cfi_cmdset_0001: Erase suspend on write enabled Creating 3 MTD partitions on "Full TS-7200 NOR flash": 0x000000000000-0x000000020000 : "TS-BOOTROM" 0x000000020000-0x000000640000 : "RootFS" 0x000000640000-0x000000800000 : "Redboot" ep93xx_mii_bus: probed ep93xx_eth:ep93xx_mii_probe: PHY supports MII frame preamble suppression ep93xx_eth:ep93xx_mii_probe: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1) net eth0: ep93xx on-chip ethernet, IRQ 39, 00:d0:69:46:24:c9 ep93xx-rtc ep93xx-rtc: rtc core: registered ep93xx-rtc as rtc0 rtc-m48t86 rtc-m48t86: rtc core: registered m48t86 as rtc1 rtc-m48t86 rtc-m48t86: battery ok TCP cubic registered NET: Registered protocol family 17 rtc-m48t86 rtc-m48t86: setting system clock to 2015-02-24 05:11:09 UTC (1424754669) ata1.00: qc timeout (cmd 0x91) ata1.00: failed to IDENTIFY (INIT_DEV_PARAMS failed, err_mask=0x4) ata1.00: qc timeout (cmd 0x91) ata1.00: failed to IDENTIFY (INIT_DEV_PARAMS failed, err_mask=0x4) ata1.00: qc timeout (cmd 0x91) ata1.00: failed to IDENTIFY (INIT_DEV_PARAMS failed, err_mask=0x4) VFS: Cannot open root device "sda1" or unknown-block(0,0) Please append a correct "root=" boot option; here are the available partitions: 1f00 8192 mtdblock0 (driver?) 1f01 128 mtdblock1 (driver?) 1f02 6272 mtdblock2 (driver?) 1f03 1792 mtdblock3 (driver?) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Function entered at [<c0028848>] from [<c003b648>] Function entered at [<c003b648>] from [<c0008e20>] Function entered at [<c0008e20>] from [<c0009008>] Function entered at [<c0009008>] from [<c0008a58>] Function entered at [<c0008a58>] from [<c0023f30>]
--
I receive a very similar error on Kernel 2.6.29, stating that nobody cared for IRQ 32, and also the ata1.00 error. That's the only constant I have received.
My first theory was that newer compact flash will need a different driver only available on 3.X kernels... and because this compact flash I bought are new (from 2014), they are not working. However, the last systems I deployed were on the 2014 (exactly a year ago), and I didn't had any trobules back then... and I also didn't find anything that would lend me to believe that the specs for the compact flash changed...
So, right now I'm quite confused. I'm not an expert, however I'm surprised that something that was working fine, is giving me so much trouble right now.
Thanks in advance, any hint, or clue of what could be the problem will be greatly appreaciated.
Regards,
Enrique Preza
__._,_.___
Posted by:
__,_._,___
|