Thread: Harddrive(s) not properly recognized
Brought to you by:
aeb,
bencollins
From: Magnus La <mag...@in...> - 2015-01-23 11:13:29
|
Hi, I'm having issues with recognizing firewire harddrives properly and especially when adding them post-boot. Some background: The system itself is a ARM board running the Dizzy release of Yocto linux. The PCI-e firewire controller seems to be this card (PCI-E, firewire 800, TI chipset): http://www.syba.com/index.php?controller=Product&action=Info&Id=995 # uname -a Linux nitrogen6x 3.10.17-1.0.2_ga+yocto+g0d7db21 #1 SMP Tue Dec 9 15:15:03 CET 2014 armv7l GNU/Linux # lspci 00:00.0 PCI bridge: Device 16c3:abcd (rev 01) 01:00.0 PCI bridge: Texas Instruments XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] (rev 01) 02:00.0 FireWire (IEEE 1394): Texas Instruments XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (rev 01) # lspci -vv | grep firewire Kernel driver in use: firewire_ohci When a firewire drive (I've tried several with the same results) is connected the following information is logged: firewire_core 0000:02:00.0: rediscovered device fw0 firewire_core 0000:02:00.0: phy config: new root=ffc1, gap_count=5 firewire_core 0000:02:00.0: phy config: new root=ffc1, gap_count=5 scsi1 : SBP-2 IEEE-1394 firewire_core 0000:02:00.0: created device fw1: GUID 0030e0f5e0100a94, S400 firewire_sbp2 fw1.0: logged in to LUN 0000 (0 retries) (I tried the same but when enabling debug output via "echo -1 > /sys/module/firewire_ohci/parameters/debug", the log is a bit verbose so I posted it here: http://pastebin.com/skm6ZBYw) This is consistent and always "works", but I'm unable/unsure how to actually use the drive in this state. My end goal is getting hot-swap to work but if I boot the system with a drive connected it will, sometimes (usually anything up to twenty reboots are required before it succeeds), get properly connected. It shows up as a /dev/sdX device and I can read/write to it as usual. When that succeeds the following is logged: # dmesg | grep -e firewire -e 1394 -e sda -e scsi [ 1.791842] scsi0 : ahci_platform [ 1.873718] firewire_ohci 0000:02:00.0: added OHCI v1.10 device as card 0, 8 IR + 8 IT contexts, quirks 0x2 [ 2.373746] firewire_core 0000:02:00.0: created device fw0: GUID 7856341200000178, S800 [ 2.373835] firewire_core 0000:02:00.0: phy config: new root=ffc1, gap_count=5 [ 5.394598] scsi1 : SBP-2 IEEE-1394 [ 5.397122] firewire_core 0000:02:00.0: created device fw1: GUID 0030e0f5e0100a94, S400 [ 5.596918] firewire_sbp2 fw1.0: logged in to LUN 0000 (0 retries) [ 5.613294] scsi 1:0:0:0: Direct-Access-RBC WDC WD80 0BB-00FRA0 PQ: 0 ANSI: 4 [ 5.638077] sd 1:0:0:0: [sda] 156301488 512-byte logical blocks: (80.0 GB/74.5 GiB) [ 5.638478] sd 1:0:0:0: [sda] Write Protect is off [ 5.638485] sd 1:0:0:0: [sda] Mode Sense: 11 00 00 00 [ 5.640037] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 5.671205] sda: unknown partition table [ 5.687840] sd 1:0:0:0: [sda] Attached SCSI disk (the unknown partition table message is expected, since there is none on this particular drive) Only once have I been able to get a drive properly connected using hot-swap and that was when I was adding a second drive, then the first drive that was added much earlier suddenly got recognized. Though this is not something that I've been able to replicate despite many attempts. Also the number of reboots required to get it to work when the drive is connected during the boot process is of course also quite unsettling. To verify that the controller card wasn't damaged I've tried it on a x86_64 PC with a live USB stick running ubuntu 12.04 LTS and it worked right of the box with hot-swap and everything. Perhaps a timing issue but I really have no clue how to proceed from this. Any pointers are greatly appreciated. ____________________________________________________________ FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on your desktop! Check it out at http://www.inbox.com/marineaquarium |