Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am learning about buses and I/O. I want to figure out the various buses and the devices, controllers connected to it in my laptop.

The website of my motherboard does not have a tech-spec.

Neither does the website of my laptop.(Looks like they no longer sell my model).

I am ultimately looking to draw for myself a detailed diagram listing all buses, interconnections, devices and controllers connected.

I use a linux(ubuntu) and am fairly comfortable with the terminal.

share|improve this question
You should post your laptop model. All Nvidia does is provide a reference model. It is up to the manufacturers to realize the implementation. – surfasb Oct 5 '11 at 8:56
The manufacturer no longer lists the laptop in his website. It is a HCL( laptop, model K38-PDC. I am not sure if this is the model number you referred to. I was hoping for pointers to software tools and other methods using which I could infer the required information. – Abhijith Oct 5 '11 at 9:41

Start with the (gnome) device manager which will list devices and controllers. A partial hierarchy of interconnections can be obtained from this output. But you will have to use some basic/generic knowledge of PC organization to understand the relationship between some of the devices. If you can find "developer guides" for the chips then great, else you will probably have to settle for crude block or functional diagrams. Detailed documentation for some of the chips used in PCs are hard to find without an NDA.

If you have the time to analyze the Linux source code, then issue the 'lsmod' command at the shell prompt. This will provide of list of device driver modules that your system is using. (These device drivers would be in addition to some essential device drivers built-in the kernel image.) A problem with a lot of device drivers is that the documentation can be poor as to exactly what devices the code supports; sometimes the best description of the driver is in the kernel configuration text. But the code analysis should reveal some device interconnections and hierarchy. There's also a Documentation directory in the kernel source code.

share|improve this answer
As a followup, lspci is a fun command for determining exactly what is attached to your PCI bus. Assuming you can then locate the devices it names, you should be able to start mapping out the PCI devices if nothing else. – Lukasa Oct 5 '11 at 10:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .