Start a new topic

USB drive usage errors

On the TS-4200 (TS-8160-4200), booting to busybox, getting fs errors writing data to USB drives.  I would like to know what types and sizes should work.

I have tried a couple boards and a variety of USB drives, and formatted them (FAT/vfat) with both Linux and the Verbatim app.  I have not seen any errors with 4, 8 and 32 GB USB 2 devices.  With 64 GB and 256 GB USB 3 flash drives, the device would mount and be usable for anywhere from a few minutes to a couple days.  Oddly, one of these was used last summer and ran for a couple months, and we thought there were no issues, so now I have a real time crunch.  We expect to collect about 100GB of data.

I ordered some 128 GB USB 2 devices, thinking it was incompatibility with USB 3, but after some initial test that looked good, it stopped writing over the weekend with dmesg errors such as 

[314622.810000] FAT: Directory bread(block 60028) failed

[314622.810000] sd 0:0:0:0: rejecting I/O to offline device

(I couldn't get the first messages anymore).  The drive seemed to be mounted still, but in reality the /dev/sda device no longer existed.


Earlier errors with USB 3 drives have included

[    6.810000] sd 0:0:0:0: [sda] Attached SCSI removable disk

[   17.300000] vfat: Unknown symbol fat_dir_empty (err 0)

[   17.300000] vfat: Unknown symbol fat_time_unix2fat (err 0)

[   17.310000] vfat: Unknown symbol fat_get_dotdo] vfat: Unknown symbol fat_time_unix2fat (err 0)

[   17.550000] vfat: Unknown symbol fat_get_dotdot_entry (err 0)

[   17.560000] vfat: Unknown symbol fat_free_clusters (err 0)

[   17.560000] vfat: Unknown symbol fat_setattr (err 0)

[   17.560000] vfat: Unknown symbol __fat_fs_error (err 0)

[   17.560000] vfat: Unknown symbol fat_scan (err 0)

[   17.560000] vfat: Unknown symbol fat_search_long (err 0)

[   17.570000] vfat: Unknown symbol fat_getattr (err 0)

[   17.570000] vfat: Unknown symbol fat_attach (err 0)

[   17.570000] vfat: Unknown symbol fat_build_inode (err 0)


Any advice?


Just watching it closely, and after a reboot the USB drive is mounted and looks OK (for now) and I can copy a file to it, but I have this dmesg output

# dmesg

[ 0.000000] Linux version 2.6.36.2 (karl@Kris-linux) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) ) #7 PREEMPT Fri Oct 7 11:14:15 MST 2011

[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177

[ 0.000000] CPU: VIVT data cache, VIVT instruction cache

[ 0.000000] Machine: Technologic Systems TS-42xx SBC

[ 0.000000] Memory policy: ECC disabled, Data cache writeback

[ 0.000000] Clocks: CPU 396 MHz, master 99 MHz, main 12.000 MHz

[ 0.000000] On node 0 totalpages: 16384

[ 0.000000] free_area_init_node: node 0, pgdat c02d9a34, node_mem_map c02f1000

[ 0.000000] Normal zone: 128 pages used for memmap

[ 0.000000] Normal zone: 0 pages reserved

[ 0.000000] Normal zone: 16256 pages, LIFO batch:3

[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256

[ 0.000000] Kernel command line: root=/dev/ram0 init=/linuxrc console=null lpj=997376

[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)

[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

[ 0.000000] Memory: 64MB = 64MB total

[ 0.000000] Memory: 57860k/57860k available, 7676k 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 : 0xffc00000 - 0xffe00000 ( 2 MB)

[ 0.000000] vmalloc : 0xc4800000 - 0xfee00000 ( 934 MB)

[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)

[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)

[ 0.000000] .init : 0xc0008000 - 0xc0021000 ( 100 kB)

[ 0.000000] .text : 0xc0021000 - 0xc02c2000 (2692 kB)

[ 0.000000] .data : 0xc02c2000 - 0xc02da040 ( 97 kB)

[ 0.000000] Hierarchical RCU implementation.

[ 0.000000] RCU-based detection of stalled CPUs is disabled.

[ 0.000000] Verbose stalled-CPUs detection is disabled.

[ 0.000000] NR_IRQS:200

[ 0.000000] AT91: 96 gpio irqs in 3 banks

[ 0.000000] Console: colour dummy device 80x30

[ 0.000000] Calibrating delay loop (skipped) preset value.. 199.47 BogoMIPS (lpj=997376)

[ 0.000000] pid_max: default: 32768 minimum: 301

[ 0.000000] Mount-cache hash table entries: 512

[ 0.000000] CPU: Testing write buffer coherency: ok

[ 0.010000] NET: Registered protocol family 16

[ 0.010000] tcb_clksrc: tc0 at 12.875 MHz

[ 0.010000] bio: create slab <bio-0> at 0

[ 0.010000] i2c-gpio i2c-gpio: using pins 55 (SDA) and 56 (SCL)

[ 0.010000] Switching to clocksource tcb_clksrc

[ 0.030000] NET: Registered protocol family 2

[ 0.030000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

[ 0.030000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)

[ 0.030000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

[ 0.030000] TCP: Hash tables configured (established 2048 bind 2048)

[ 0.030000] TCP reno registered

[ 0.030000] UDP hash table entries: 256 (order: 0, 4096 bytes)

[ 0.030000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)

[ 0.030000] NET: Registered protocol family 1

[ 0.030000] RPC: Registered udp transport module.

[ 0.030000] RPC: Registered tcp transport module.

[ 0.030000] RPC: Registered tcp NFSv4.1 backchannel transport module.

[ 0.030000] Trying to unpack rootfs image as initramfs...

[ 0.030000] rootfs image is not initramfs (junk in compressed archive); looks like an initrd

[ 0.120000] Freeing initrd memory: 4096K

[ 0.120000] NetWinder Floating Point Emulator V0.97 (extended precision)

[ 0.120000] msgmni has been set to 121

[ 0.120000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)

[ 0.120000] io scheduler noop registered

[ 0.120000] io scheduler deadline registered (default)

[ 0.130000] atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL

[ 0.130000] atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL

[ 0.130000] atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL

[ 0.130000] atmel_usart.3: ttyS3 at MMIO 0xfffb8000 (irq = 8) is a ATMEL_SERIAL

[ 0.130000] atmel_usart.4: ttyS4 at MMIO 0xfffd0000 (irq = 23) is a ATMEL_SERIAL

[ 0.130000] atmel_usart.5: ttyS5 at MMIO 0xfffd4000 (irq = 24) is a ATMEL_SERIAL

[ 0.130000] atmel_usart.6: ttyS6 at MMIO 0xfffd8000 (irq = 25) is a ATMEL_SERIAL

[ 0.140000] brd: module loaded

[ 0.140000] nbd: registered device at major 43

[ 0.150000] ssc ssc.0: Atmel SSC device at 0xc4840000 (irq 14)

[ 0.160000] MACB_mii_bus: probed

[ 0.160000] eth0: Atmel MACB at 0xfffc4000 irq 21 (00:d0:69:4a:71:20)

[ 0.160000] eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:07, irq=-1)

[ 0.160000] mice: PS/2 mouse device common for all mice

[ 0.160000] i2c /dev entries driver

[ 0.160000] TCP cubic registered

[ 0.160000] NET: Registered protocol family 17

[ 0.160000] Warning: unable to open an initial console.

[ 0.160000] RAMDISK: ext2 filesystem found at block 0

[ 0.160000] RAMDISK: Loading 2560KiB [1 disk] into ram disk... done.

[ 0.360000] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended

[ 0.360000] VFS: Mounted root (ext2 filesystem) on device 1:0.

[ 0.360000] Freeing init memory: 100K

[ 3.120000] EXT3-fs: barriers not enabled

[ 3.120000] EXT3-fs (nbd3): mounted filesystem with writeback data mode

[ 3.130000] kjournald starting. Commit interval 5 seconds

[ 4.600000] SCSI subsystem initialized

[ 5.030000] usbcore: registered new interface driver usbfs

[ 5.030000] usbcore: registered new interface driver hub

[ 5.030000] usbcore: registered new device driver usb

[ 5.090000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver

[ 5.090000] at91_ohci at91_ohci: AT91 OHCI

[ 5.090000] at91_ohci at91_ohci: new USB bus registered, assigned bus number 1

[ 5.090000] at91_ohci at91_ohci: irq 20, io mem 0x00500000

[ 5.150000] hub 1-0:1.0: USB hub found

[ 5.150000] hub 1-0:1.0: 2 ports detected

[ 5.290000] Initializing USB Mass Storage driver...

[ 5.290000] usbcore: registered new interface driver usb-storage

[ 5.290000] USB Mass Storage support registered.

[ 5.320000] smsc95xx: Unknown symbol usbnet_set_msglevel (err 0)

[ 5.320000] smsc95xx: Unknown symbol usbnet_change_mtu (err 0)

[ 5.330000] smsc95xx: Unknown symbol usbnet_get_msglevel (err 0)

[ 5.330000] smsc95xx: Unknown symbol usbnet_open (err 0)

[ 5.330000] smsc95xx: Unknown symbol usbnet_skb_return (err 0)

[ 5.340000] smsc95xx: Unknown symbol usbnet_tx_timeout (err 0)

[ 5.340000] smsc95xx: Unknown symbol usbnet_get_settings (err 0)

[ 5.340000] smsc95xx: Unknown symbol usbnet_get_link (err 0)

[ 5.340000] smsc95xx: Unknown symbol usbnet_suspend (err 0)

[ 5.350000] smsc95xx: Unknown symbol usbnet_start_xmit (err 0)

[ 5.350000] smsc95xx: Unknown symbol usbnet_get_drvinfo (err 0)

[ 5.350000] smsc95xx: Unknown symbol usbnet_get_endpoints (err 0)

[ 5.360000] smsc95xx: Unknown symbol usbnet_nway_reset (err 0)

[ 5.360000] smsc95xx: Unknown symbol usbnet_stop (err 0)

[ 5.360000] smsc95xx: Unknown symbol usbnet_defer_kevent (err 0)

[ 5.360000] smsc95xx: Unknown symbol usbnet_disconnect (err 0)

[ 5.370000] smsc95xx: Unknown symbol usbnet_set_settings (err 0)

[ 5.370000] smsc95xx: Unknown symbol usbnet_probe (err 0)

[ 5.370000] smsc95xx: Unknown symbol usbnet_resume (err 0)

[ 5.390000] usb 1-1: new full speed USB device using at91_ohci and address 2

[ 5.520000] usbcore: registered new interface driver smsc95xx

[ 5.570000] scsi0 : usb-storage 1-1:1.0

[ 6.570000] scsi 0:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6

[ 6.590000] sd 0:0:0:0: [sda] 245039104 512-byte logical blocks: (125 GB/116 GiB)

[ 6.600000] sd 0:0:0:0: [sda] Write Protect is off

[ 6.600000] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00

[ 6.600000] sd 0:0:0:0: [sda] Assuming drive cache: write through

[ 6.630000] sd 0:0:0:0: [sda] Assuming drive cache: write through

[ 6.650000] sda: sda1

[ 6.670000] sd 0:0:0:0: [sda] Assuming drive cache: write through

[ 6.670000] sd 0:0:0:0: [sda] Attached SCSI removable disk

[ 18.070000] vfat: Unknown symbol fat_dir_empty (err 0)

[ 18.070000] vfat: Unknown symbol fat_time_unix2fat (err 0)

[ 18.080000] vfat: Unknown symbol fat_get_dotdot_entry (err 0)

[ 18.080000] vfat: Unknown symbol fat_free_clusters (err 0)

[ 18.080000] vfat: Unknown symbol fat_setattr (err 0)

[ 18.080000] vfat: Unknown symbol __fat_fs_error (err 0)

[ 18.090000] vfat: Unknown symbol fat_scan (err 0)

[ 18.090000] vfat: Unknown symbol fat_search_long (err 0)

[ 18.090000] vfat: Unknown symbol fat_getattr (err 0)

[ 18.090000] vfat: Unknown symbol fat_attach (err 0)

[ 18.090000] vfat: Unknown symbol fat_build_inode (err 0)

[ 18.100000] vfat: Unknown symbol fat_fill_super (err 0)

[ 18.100000] vfat: Unknown symbol fat_alloc_new_dir (err 0)

[ 18.100000] vfat: Unknown symbol fat_remove_entries (err 0)

[ 18.100000] vfat: Unknown symbol fat_add_entries (err 0)

[ 18.100000] vfat: Unknown symbol fat_sync_inode (err 0)

[ 18.110000] vfat: Unknown symbol fat_detach (err 0)

[ 18.400000] vfat: Unknown symbol fat_dir_empty (err 0)

[ 18.410000] vfat: Unknown symbol fat_time_unix2fat (err 0)

[ 18.410000] vfat: Unknown symbol fat_get_dotdot_entry (err 0)

[ 18.410000] vfat: Unknown symbol fat_free_clusters (err 0)

[ 18.410000] vfat: Unknown symbol fat_setattr (err 0)

[ 18.420000] vfat: Unknown symbol __fat_fs_error (err 0)

[ 18.420000] vfat: Unknown symbol fat_scan (err 0)

[ 18.420000] vfat: Unknown symbol fat_search_long (err 0)

[ 18.420000] vfat: Unknown symbol fat_getattr (err 0)

[ 18.420000] vfat: Unknown symbol fat_attach (err 0)

[ 18.430000] vfat: Unknown symbol fat_build_inode (err 0)

[ 18.430000] vfat: Unknown symbol fat_fill_super (err 0)

[ 18.430000] vfat: Unknown symbol fat_alloc_new_dir (err 0)

[ 18.430000] vfat: Unknown symbol fat_remove_entries (err 0)

[ 18.430000] vfat: Unknown symbol fat_add_entries (err 0)

[ 18.430000] vfat: Unknown symbol fat_sync_inode (err 0)

[ 18.440000] vfat: Unknown symbol fat_detach (err 0)


Jonathan,


Honestly, based on your description I would look at the flash technology itself.  NAND flash is rapidly getting more dense.  Some device are even using Tri-level cells, which means each flash cell is storing 3 bits of data.  This newer technology requires intelligent flash translation layer, more processing power in the controller, and more sensitive sense electronics.  Even as MLC NAND technology gets smaller and more dense, the same amount of caveats will apply to the actual hardware.


Consumer components like USB flash memory devices are pretty notorious for putting out the latest and greatest with little concern of longevity and long term support.  Many of the lower cost and larger devices are not rated for fully writing the whole disk over and over.


For consumer devices, we strongly recommend SanDisk brands, bought from a reputable distributor/retailer.  Above that, I would recommend a spinning magnetic disk, or even a high-end SSD with a USB converter for the TS-4200.  In addition, I would recommend against using FAT32 for the device.  While it can support a large volume size, it does not have any kind of journaling features.  I would recommend using ext3 if possible.


>[314622.810000] FAT: Directory bread(block 60028) failed

>[314622.810000] sd 0:0:0:0: rejecting I/O to offline device

>(I  couldn't get the first messages anymore).  The drive seemed to be  mounted still, but in reality the /dev/sda device no longer existed.

This error means that a key part of the FAT32 metadata was invalid.  Followed by a message indicating that the kernel is taking the device offline due to the error.  An fsck may fix the problem, it may have just been an intermittent problem.


>Earlier errors with USB 3 drives have included

>[    6.810000] sd 0:0:0:0: [sda] Attached SCSI removable disk

>[   17.300000] vfat: Unknown symbol fat_dir_empty (err 0)

>[   17.300000] vfat: Unknown symbol fat_time_unix2fat (err 0)

I'm unsure of why you are seeing these errors.  It may be related to the fact that it is a USB3 device.  They indicate that some parts of the kernel modules for vfat were not found.  It may also be that all of the necessary modules were not properly loaded.  If you boot up to Debian before inserting the USB device do you still see the same errors?

Thank you for the quick reply today.  I've been testing with Kingston and SanDisk.  The 128GB USB2 are SanDisk.  I do not see any issues in dmesg when I boot on into debian.  If I copied a lot of data to the USB 3 drives in debian, I would still get errors and the device would be taken offline.

In use, the system will be out in the field logging data continuously for several months, so no user interaction will be available.

I'm trying the Seagate Diskwizard to format with MBR rather than GUID PT.  I will also look into a SSD with adapter. I'll even consider ext3, though the engineers won't like the idea.


Well, as I sit here, the test just had issues copying files to the 128GB drive with MBR FAT32.

[ 3812.380000] FAT: unable to read inode block for updating (i_pos 1040519)

[ 3812.380000] FAT: unable to read inode block for updating (i_pos 1043601)

[ 3812.390000] FAT: unable to read inode block for updating (i_pos 1043603)

[ 3812.390000] FAT: unable to read inode block for updating (i_pos 1043605)

[ 3813.110000] usb 1-1: new full speed USB device using at91_ohci and address 3

[ 3813.290000] scsi1 : usb-storage 1-1:1.0

[ 3814.290000] scsi 1:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6

[ 3814.300000] sd 1:0:0:0: [sdb] 245039104 512-byte logical blocks: (125 GB/116 GiB)

[ 3814.310000] sd 1:0:0:0: [sdb] Write Protect is off

[ 3814.310000] sd 1:0:0:0: [sdb] Mode Sense: 43 00 00 00

[ 3814.310000] sd 1:0:0:0: [sdb] Assuming drive cache: write through

[ 3814.350000] sd 1:0:0:0: [sdb] Assuming drive cache: write through

[ 3814.370000] sdb: sdb1

[ 3814.390000] sd 1:0:0:0: [sdb] Assuming drive cache: write through

[ 3814.390000] sd 1:0:0:0: [sdb] Attached SCSI removable disk


(looks like it reset, but drive is offline)


# df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/root 2515 1478 909 62% /

none 31028 0 31028 0% /dev/shm

tmpfs 31028 0 31028 0% /tmp

/dev/nbd3 248911 111313 124747 47% /mnt/root

/dev/sda1 122488576 31936 122456640 0% /mnt/hda1

# mkdir /mnt/hda1/junk2

mkdir: can't create directory '/mnt/hda1/junk2': Input/output error


Earlier boot dmesg:

[ 4.610000] SCSI subsystem initialized

[ 5.050000] usbcore: registered new interface driver usbfs

[ 5.050000] usbcore: registered new interface driver hub

[ 5.050000] usbcore: registered new device driver usb

[ 5.110000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver

[ 5.110000] at91_ohci at91_ohci: AT91 OHCI

[ 5.110000] at91_ohci at91_ohci: new USB bus registered, assigned bus number 1

[ 5.110000] at91_ohci at91_ohci: irq 20, io mem 0x00500000

[ 5.170000] hub 1-0:1.0: USB hub found

[ 5.170000] hub 1-0:1.0: 2 ports detected

[ 5.310000] Initializing USB Mass Storage driver...

[ 5.310000] usbcore: registered new interface driver usb-storage

[ 5.310000] USB Mass Storage support registered.

[ 5.340000] smsc95xx: Unknown symbol usbnet_set_msglevel (err 0)

[ 5.350000] smsc95xx: Unknown symbol usbnet_change_mtu (err 0)

[ 5.350000] smsc95xx: Unknown symbol usbnet_get_msglevel (err 0)

[ 5.350000] smsc95xx: Unknown symbol usbnet_open (err 0)

[ 5.350000] smsc95xx: Unknown symbol usbnet_skb_return (err 0)

[ 5.360000] smsc95xx: Unknown symbol usbnet_tx_timeout (err 0)

[ 5.360000] smsc95xx: Unknown symbol usbnet_get_settings (err 0)

[ 5.360000] smsc95xx: Unknown symbol usbnet_get_link (err 0)

[ 5.360000] smsc95xx: Unknown symbol usbnet_suspend (err 0)

[ 5.370000] smsc95xx: Unknown symbol usbnet_start_xmit (err 0)

[ 5.370000] smsc95xx: Unknown symbol usbnet_get_drvinfo (err 0)

[ 5.370000] smsc95xx: Unknown symbol usbnet_get_endpoints (err 0)

[ 5.380000] smsc95xx: Unknown symbol usbnet_nway_reset (err 0)

[ 5.380000] smsc95xx: Unknown symbol usbnet_stop (err 0)

[ 5.380000] smsc95xx: Unknown symbol usbnet_defer_kevent (err 0)

[ 5.380000] smsc95xx: Unknown symbol usbnet_disconnect (err 0)

[ 5.390000] smsc95xx: Unknown symbol usbnet_set_settings (err 0)

[ 5.390000] smsc95xx: Unknown symbol usbnet_probe (err 0)

[ 5.390000] smsc95xx: Unknown symbol usbnet_resume (err 0)

[ 5.410000] usb 1-1: new full speed USB device using at91_ohci and address 2

[ 5.540000] usbcore: registered new interface driver smsc95xx

[ 5.590000] scsi0 : usb-storage 1-1:1.0

[ 6.590000] scsi 0:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6

[ 6.600000] sd 0:0:0:0: [sda] 245039104 512-byte logical blocks: (125 GB/116 GiB)

[ 6.610000] sd 0:0:0:0: [sda] Write Protect is off

[ 6.610000] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00

[ 6.610000] sd 0:0:0:0: [sda] Assuming drive cache: write through

[ 6.650000] sd 0:0:0:0: [sda] Assuming drive cache: write through

[ 6.670000] sda: sda1

[ 6.690000] sd 0:0:0:0: [sda] Assuming drive cache: write through

[ 6.690000] sd 0:0:0:0: [sda] Attached SCSI removable disk

[ 18.060000] vfat: Unknown symbol fat_dir_empty (err 0)

[ 18.060000] vfat: Unknown symbol fat_time_unix2fat (err 0)

[ 18.070000] vfat: Unknown symbol fat_get_dotdot_entry (err 0)

[ 18.070000] vfat: Unknown symbol fat_free_clusters (err 0)

[ 18.070000] vfat: Unknown symbol fat_setattr (err 0)

[ 18.070000] vfat: Unknown symbol __fat_fs_error (err 0)

[ 18.070000] vfat: Unknown symbol fat_scan (err 0)

[ 18.080000] vfat: Unknown symbol fat_search_long (err 0)

[ 18.080000] vfat: Unknown symbol fat_getattr (err 0)

[ 18.080000] vfat: Unknown symbol fat_attach (err 0)

[ 18.080000] vfat: Unknown symbol fat_build_inode (err 0)

[ 18.090000] vfat: Unknown symbol fat_fill_super (err 0)

[ 18.090000] vfat: Unknown symbol fat_alloc_new_dir (err 0)

[ 18.090000] vfat: Unknown symbol fat_remove_entries (err 0)

[ 18.090000] vfat: Unknown symbol fat_add_entries (err 0)

[ 18.090000] vfat: Unknown symbol fat_sync_inode (err 0)

[ 18.100000] vfat: Unknown symbol fat_detach (err 0)

[ 18.400000] vfat: Unknown symbol fat_dir_empty (err 0)

[ 18.400000] vfat: Unknown symbol fat_time_unix2fat (err 0)

[ 18.410000] vfat: Unknown symbol fat_get_dotdot_entry (err 0)

[ 18.410000] vfat: Unknown symbol fat_free_clusters (err 0)

[ 18.410000] vfat: Unknown symbol fat_setattr (err 0)

[ 18.410000] vfat: Unknown symbol __fat_fs_error (err 0)

[ 18.410000] vfat: Unknown symbol fat_scan (err 0)

[ 18.420000] vfat: Unknown symbol fat_search_long (err 0)

[ 18.420000] vfat: Unknown symbol fat_getattr (err 0)

[ 18.420000] vfat: Unknown symbol fat_attach (err 0)

[ 18.420000] vfat: Unknown symbol fat_build_inode (err 0)

[ 18.420000] vfat: Unknown symbol fat_fill_super (err 0)

[ 18.430000] vfat: Unknown symbol fat_alloc_new_dir (err 0)

[ 18.430000] vfat: Unknown symbol fat_remove_entries (err 0)

[ 18.430000] vfat: Unknown symbol fat_add_entries (err 0)

[ 18.430000] vfat: Unknown symbol fat_sync_inode (err 0)

[ 18.440000] vfat: Unknown symbol fat_detach (err 0)

#



Jonathan,


The MBR vs GUID wont make a difference once the partition is mounted.


I am still apt to blame the flash technology itself, however I would not be surprised if there are other factors related directly to the TS-4200 causing issues.  Newer USB drives likely consume more power, if the TS-4200/baseboard are unable to provide that much power the USB devices may brown out.  This may not be enough to disconnect them, but could be enough to cause invalid data to be written.  Additionally the USB controller in the CPU could just have incompatibilities with the USB devices.


After thinking about this more, in addition to recommending an SSD with a USB adapter, I would also recommend that it be externally powered.  If you still have issues with this, let us know and we can offer some further suggestions.  However, due to the fact that this only seems to appear with larger/newer media, there may be very little we can do to resolve this.  If that is a hard requirement of your application, I would recommend looking at our current product lineup and using a platform that has a newer CPU; newer USB peripheral implementations may be able to better handle the requirements of newer USB mass storage drives.


For reference, this is something we often fight on our older products.  A couple of times now, the SD cards and USB mass storage devices we ship with our kits have gone EOL.  Because of this we've had to spend a great amount of time to qualify new parts just to ensure there are no strange incompatibilities.  Though we've never had to deal with such large USB mass storage devices.

Thanks for the additional info.  I tested booting straight into debian with linuxrc-sdroot, then inserting the freshly formatted media, mounting, and copying some files but after a few minutes of file writes, it was once again offline with "FAT: Directory bread(block 59962) failed" errors.

I'm going to order a SSD, and research what connectors/adapters are available.  The MicroSD slot is limited to 32GB, isn't it?


Jonathan,


The TS-4200 only has support for SDSC and SDHC devices.  SDHC specification goes up to 32 GB; however there are some SDXC devices that will start at 32 GB as well.  So long as the SD card you are using is SDHC (or SDSC), it will work.

Just for info, while waiting for shipping of a SSD I tried formatting ext3 and using it in case this is all related to vfat.  This was much worse.  I mounted it and that looked OK, made a directory, looked OK, made a second dir and it disconnected - I tried this twice, other time made 3 directories. 

[ 316.930000] EXT3-fs: barriers not enabled

[ 317.090000] kjournald starting. Commit interval 5 seconds

[ 317.100000] EXT3-fs (sda1): using internal journal

[ 317.100000] EXT3-fs (sda1): recovery complete

[ 317.110000] EXT3-fs (sda1): mounted filesystem with writeback data mode

[ 436.100000] usb 1-2: USB disconnect, address 2

[ 436.100000] sd 0:0:0:0: Device offlined - not ready after error recovery

[ 436.100000] sd 0:0:0:0: [sda] Unhandled error code

[ 436.100000] sd 0:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00

[ 436.100000] sd 0:0:0:0: [sda] CDB: cdb[0]=0x2a: 2a 00 07 48 10 57 00 00 40 00

[ 436.100000] end_request: I/O error, dev sda, sector 122163287

[ 436.100000] sd 0:0:0:0: [sda] Unhandled error code

[ 436.100000] sd 0:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00

[ 436.100000] sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 0b 5c 00 47 00 00 08 00

[ 436.100000] end_request: I/O error, dev sda, sector 190578759

[ 436.100000] Aborting journal on device sda1.

[ 436.110000] EXT3-fs error (device sda1): read_inode_bitmap: Cannot read inode bitmap - block_group = 727, inode_bitmap = 23822337

[ 436.110000] EXT3-fs (sda1): error in ext3_new_inode: IO failure

[ 436.110000] ------------[ cut here ]------------

[ 436.110000] WARNING: at fs/buffer.c:1152 mark_buffer_dirty+0x38/0xcc()

[ 436.110000] Modules linked in: ipv6 at91_udc smsc95xx usbnet usb_storage ohci_hcd usbcore nls_base sd_mod scsi_mod mmc_block at91_mci mmc_core

[ 436.110000] Backtrace:

[ 436.110000] [<c0025b2c>] (dump_backtrace+0x0/0x114) from [<c02349cc>] (dump_stack+0x18/0x1c)

[ 436.110000] r7:00000000 r6:c00c2340 r5:c0297060 r4:00000480

[ 436.110000] [<c02349b4>] (dump_stack+0x0/0x1c) from [<c003d8e0>] (warn_slowpath_common+0x54/0x6c)

[ 436.110000] [<c003d88c>] (warn_slowpath_common+0x0/0x6c) from [<c003d91c>] (warn_slowpath_null+0x24/0x2c)

[ 436.110000] r9:c38e9ae0 r8:00000000 r7:00000001 r6:c35143c8 r5:c02e50f4

[ 436.110000] r4:c35143c8

[ 436.110000] [<c003d8f8>] (warn_slowpath_null+0x0/0x2c) from [<c00c2340>] (mark_buffer_dirty+0x38/0xcc)

[ 436.110000] [<c00c2308>] (mark_buffer_dirty+0x0/0xcc) from [<c00f963c>] (ext3_commit_super+0x5c/0x78)

[ 436.110000] r5:c28e5400 r4:c393da00

[ 436.110000] [<c00f95e0>] (ext3_commit_super+0x0/0x78) from [<c00faaf0>] (ext3_handle_error+0xa4/0xcc)

[ 436.110000] r7:000002d7 r6:c3517318 r5:c28e5400 r4:c393da00

[ 436.110000] [<c00faa4c>] (ext3_handle_error+0x0/0xcc) from [<c00fab90>] (__ext3_std_error+0x78/0x88)

[ 436.110000] r5:c023e7a8 r4:c393da00

[ 436.110000] [<c00fab18>] (__ext3_std_error+0x0/0x88) from [<c00f0af0>] (ext3_new_inode+0x8dc/0x950)

[ 436.110000] r5:00000000 r4:fffffffb

[ 436.110000] [<c00f0214>] (ext3_new_inode+0x0/0x950) from [<c00f7afc>] (ext3_mkdir+0x88/0x2c0)

[ 436.110000] [<c00f7a74>] (ext3_mkdir+0x0/0x2c0) from [<c00a624c>] (vfs_mkdir+0x74/0xac)

[ 436.110000] [<c00a61d8>] (vfs_mkdir+0x0/0xac) from [<c00a8720>] (sys_mkdirat+0x8c/0xd8)

[ 436.110000] r7:00000027 r6:000001ed r5:c35185d8 r4:00000000

[ 436.110000] [<c00a8694>] (sys_mkdirat+0x0/0xd8) from [<c00a8788>] (sys_mkdir+0x1c/0x20)

[ 436.110000] r6:be86ac78 r5:00000000 r4:be86af1f

[ 436.110000] [<c00a876c>] (sys_mkdir+0x0/0x20) from [<c0021ec0>] (ret_fast_syscall+0x0/0x2c)

[ 436.110000] ---[ end trace 8ed68119937d314f ]---

[ 436.110000] journal commit I/O error

[ 436.120000] EXT3-fs (sda1): error in ext3_mkdir: IO failure

[ 436.980000] usb 1-2: new full speed USB device using at91_ohci and address 3

[ 437.170000] scsi1 : usb-storage 1-2:1.0

[ 438.170000] scsi 1:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6

[ 438.180000] sd 1:0:0:0: [sdb] 245039104 512-byte logical blocks: (125 GB/116 GiB)

[ 438.210000] sd 1:0:0:0: [sdb] Write Protect is off

[ 438.210000] sd 1:0:0:0: [sdb] Mode Sense: 43 00 00 00

[ 438.210000] sd 1:0:0:0: [sdb] Assuming drive cache: write through

[ 438.270000] sd 1:0:0:0: [sdb] Assuming drive cache: write through

[ 438.290000] sdb: sdb1

[ 438.310000] sd 1:0:0:0: [sdb] Assuming drive cache: write through

[ 438.310000] sd 1:0:0:0: [sdb] Attached SCSI removable disk


 I tried mkfs.ext3 later, and got errors too.

root@ts4200:~# mkfs.ext3 /dev/sdb1

mke2fs 1.41.12 (17-May-2010)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

7659520 inodes, 30627914 blocks

1531395 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=0

935 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

        4096000, 7962624, 11239424, 20480000, 23887872

 

Writing inode tables: done

ext2fs_mkdir: Attempt to read block from filesystem resulted in short read while creating root dir

root@ts4200:~# mount -t ext3 /dev/sdb1 /mnt/cf_usb/

mount: /dev/sdb1 is not a valid block device



Jonathan,


Just wanted to follow up on this to see if you've had any success with an SSD or other external drive options.


Let me know if you have any questions or further comments.

There are a few varieties of SSD now, I avoided the newer types and tested a 120GB Crucial SSD.  Had trouble finding a quality USB-to-SATA adapter.  The IDE/SATA units have external power but are poor quality, 1 was using a lot of power and only lasted a day, another worked fine but used more power than we were happy with.  Plain cheap USB-to-SATA on USB power actually ended up working and used only slightly more power than a USB flash drive.  We saw no filesystem or USB errors with this SSD while continuously writing for several days..

Login or Signup to post a comment