Bit of an odd problem:
As a background, I have 2 machines, a desktop and a laptop both running Linux from scratch 6.0, configured pretty much the same way.
Desktop is running kernel 2.6.11.11 and laptop 2.6.8.1.
First up, I've been happily using a few different types of usb drives / mp3 players / digital cameras on both of them, but now I've gotten a new, higher capacity usb stick, whose behaviour is identical on both machines. Plugging it in results in the normal lines in dmesg about a new speed device, followed by a stack of error messages along the lines of
Code:
sdb: Unit Not Ready, sense:
: Current: sense key=0x6
ASC=0x28 ASCQ=0x0
sdb : READ CAPACITY failed.
sdb : status=1, message=00, host=0, driver=08
sd: Current: sense key=0x6
ASC=0x28 ASCQ=0x0
sdb: assuming Write Enabled
sdb: assuming drive cache: write through
sdb: Unit Not Ready, sense:
: Current: sense key=0x6
ASC=0x28 ASCQ=0x0
sdb : READ CAPACITY failed.
etc.
and at last:
Code:
Buffer I/O error on device sdb, logical block 0
unable to read partition table
As you'd expect, this means that /dev/sdb exists, but not any partitions, ie /dev/sdb1, which makes mounting rather difficult.
The interesting thing, though, is that if i use any command that touches the device, like fdisk, cfdisk, mkfs.*, it adds the following lines to dmesg,
Code:
SCSI device sdb: 1017856 512-byte hdwr sectors (521 MB)
sdb: assuming Write Enabled
sdb: assuming drive cache: write through
SCSI device sdb: 1017856 512-byte hdwr sectors (521 MB)
sdb: assuming Write Enabled
sdb: assuming drive cache: write through
sdb: sdb1
successfully reads the partition table, and hey presto, /dev/sdb1 is created and I can mount the filesystem.
Also, I can get the same effect by manually creating the block device with mknod.
So clearly the machine can read the partition table and data, but for some reason not on the first run through. It's a pain having to su to root and fdisk -l /dev/sdb every time i want to use this drive, so any suggestions?