Solved, see my comment on the accepted answer below, the problem had nothing to do with drivers.
I've bought an eSATA enclosure and put a drive in it, and I'm just having no luck getting my Ubuntu 10.04 LTS desktop (64-bit) to recognise it via eSATA. It works fine if I use the same enclosure via its USB2 connector instead, which tells me that the drive is installed in the enclosure successfully and that the drive works.
Here's what I've tried / checked:
Connecting the drive naively. Literally, plugging the eSATA cable into the box and turning the drive on, while Ubuntu was running. No reaction, and nothing shows up in the Disk Uility or
Leaving the drive connected and cold booting Ubuntu from poweroff. Still nothing on DU or
Ensuring that the BIOS has the eSATA port enabled (it did, I didn't have to change it).
Ensuring that the BIOS is using AHCI. It wasn't, and that hadn't been any problem accessing the internal SATA SSD (the box's primary drive). (The SSD showed up under the PATA controller, because I think the BIOS was doing emulation or something.) Switching the BIOS to use AHCI on the SATA controller didn't make any difference other than that the SSD showed up under the SATA controller instead and was listed as using the ahci driver, as you'd expect.
dmesgfor anything useful. I don't see any mention of the drive at all (except from when I had it attached via USB).
- eSATA is on the motherboard, an Intel DH57JG.
- Enclosure is an Apex (cheap, but other than cable length issues people on Amazon seemed to like it, and it's handsome).
- Drive is a Samsung F3 HD103SJ.
- Cable is, well, a cable.
Unfortunately, I don't have any other machine that supports eSATA so I can do the obvious thing and prove that the rig (enclosure and cable) work over eSATA on another box. :-( And I don't have my desktop set up to dual-boot another OS... So at this stage, I don't know it's a software problem, could be hardware, could be cable, but in case there's something obvious I'm missing...
hotei suggested I may need specific drivers for the board (the Intel H57 chipset in the DH57JG), but Intel seems to think that the kernel already supports the chipset natively. I have to say it never occurred to me that the internal SATA would work and eSATA wouldn't.
Someone over on the Ubuntu forums suggested installing scsitools and running
rescan-scsi-bus.sh as root, just in case. No luck, but posting that info here for completeness:
root@forge:~# rescan-scsi-bus.sh -c Host adapter 0 (ahci) found. Host adapter 1 (ahci) found. Host adapter 2 (ahci) found. Host adapter 3 (ahci) found. Host adapter 4 (ahci) found. Host adapter 5 (ahci) found. Scanning SCSI subsystem for new devices Scanning host 0 channels 0 1 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs Scanning for device 0 0 0 0 ... OLD: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: INTEL SSDSA2M080 Rev: 2CV1 Type: Direct-Access ANSI SCSI revision: 05 Scanning host 1 channels 0 1 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs Scanning host 2 channels 0 1 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs Scanning for device 2 0 0 0 ... OLD: Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: TSSTcorp Model: CDDVDW SN-S083C Rev: SB01 Type: CD-ROM ANSI SCSI revision: 05 Report Luns command not supported (support mandatory in SPC-3) Scanning for device 2 0 0 0 ... OLD: Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: TSSTcorp Model: CDDVDW SN-S083C Rev: SB01 Type: CD-ROM ANSI SCSI revision: 05 Scanning host 3 channels 0 1 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs Scanning host 4 channels 0 1 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs Scanning host 5 channels 0 1 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs 0 new device(s) found. 0 device(s) removed.