[GRLUG] So I have this laptop...

Michael Mol mikemol at gmail.com
Wed May 4 18:12:07 EDT 2011


On Wed, May 4, 2011 at 9:15 PM, Mike Williams <knightperson at zuzax.com> wrote:
> It's a Toshiba Satellite A305-S6872. The laptop chassis has two hard drive
> bays, but only one of them has a connector in it. There are solder points
> for a hard drive connector in the second bay, but I can't tell if they're
> hooked up to anything. Theoretically, it would be possible to solder another
> port into that bay and give me the option of a second hard drive, but I
> don't know if the solder points require another chip or something. Is there
> any way in Linux (Ubuntu 10.10 64-bit if it matters) to look in /proc and
> see if the SATA controller can handle another device?

Here's how I just figured out where my system sits for this kind of thing:

Q: What's the name of a device that sits on the controller I'm interested in?
A: /dev/sr0

cd /sys

find . -name 'sr0'

I see that sr0 exists at
./devices/pci0000:00/0000:00:11.0/host2/target2:0:0/2:0:0:0/block/sr0

What that means:
/sys/devices is branch under /sys that organizes devices by how
they're tied in, physically.

/sys/devices/pci0000:00 is the folder specific to the first PCI bus on
the system. (You can have multiple PCI busses in a system. Most
systems do, actually, and PCI Express busses look logically like PCI
busses)

/sys/devices/pci0000:00/0000:00:11.0 is the folder specific to a
particular PCI device and subdevice. (A PCI device can have multiple
components on it. For example, one of my old video cards had its VGA
output as one device, and its SVideo output as another device.) In
this case, the PCI device is my SATA controller.

I can verify that it's my SATA controller by running lspci, and seeing
this line:
00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA
Controller [AHCI mode]

SATA seems to be organized as SCSI is, with each link its own logical
bus. My /dev/sr0 sits at host2/target2:0:0/2:0:0:0. I *think* that
means it sits on the second bus of the device, with a LUN of 2:0:0 (or
2:0:0:0, not sure).

If I take a look at the directory for the controller itself, though,
/sys/devices/pci0000:00/0000:00:11.0 , I can look and see what the
controller indicates it supports.

Running 'ls' in that folder, I see that I have six "host" directories,
host0, host1, host2, host3, host4 and host5.

Looking at my motherboard, I can see that while I have six SATA ports,
I only have five devices plugged in, so I can see all SATA ports, not
just the active ones.

I don't have any unsoldered SATA headers, but my advice would be to
look in the /sys/devices/... directory for your SATA controller, and
see if the number of 'hostN' entries in that folder is greater than
the number of in-use connectors.

-- 
:wq

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the grlug mailing list