LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 08-22-2017, 09:50 AM   #1
rob18767
LQ Newbie
 
Registered: Feb 2012
Posts: 7

Rep: Reputation: Disabled
I cannot see my PCIe device in /sys/devices


Hi

I have a proprietary PCIe device that I can access through Ubuntu 32 bit V 16.10, with proprietary drivers that are operational.

Why can I not see the PCIe devices in /sys/devices but I can see it in /sys/bus/pci/devices?
 
Old 08-22-2017, 02:30 PM   #2
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,980

Rep: Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624
No rule that a proprietary PCIe device has to report to buss I guess. (pretty sure on that)

Could be an oddity of the maker or faulty chip on it.

More ways to look at it. https://wiki.debian.org/HowToIdentifyADevice/PCI
 
Old 08-22-2017, 04:52 PM   #3
Shadow_7
Senior Member
 
Registered: Feb 2003
Distribution: debian
Posts: 4,137
Blog Entries: 1

Rep: Reputation: 874Reputation: 874Reputation: 874Reputation: 874Reputation: 874Reputation: 874Reputation: 874
It's more likely to show up with:

$ lspci -nnk

And /dev names are derived from /proc/devices plus minor numbers from /proc/misc for things who's major is 10. The /sys/ stuff is a relatively new kid on the block. Tab completion works in those parts, but things like "find" do not "find" the sub trees.
 
Old 08-25-2017, 07:29 PM   #4
tofino_surfer
Member
 
Registered: Aug 2007
Posts: 483

Rep: Reputation: 153Reputation: 153
Quote:
I have a proprietary PCIe device that I can access through Ubuntu 32 bit V 16.10, with proprietary drivers that are operational.
Is this is an early PCIe SSD expansion card created before M.2 connectors and nmve support ?

Quote:
Why can I not see the PCIe devices in /sys/devices but I can see it in /sys/bus/pci/devices?
They are in /sys/devices in the /sys/devices/pci0000:00/ directory.

Code:
$ ll /sys/devices/pci0000:00/
total 0
drwxr-xr-x  3 root root    0 Aug 25 13:30 0000:00:00.0
drwxr-xr-x  8 root root    0 Aug 25 13:30 0000:00:01.0
drwxr-xr-x  3 root root    0 Aug 25 13:30 0000:00:02.0
drwxr-xr-x 12 root root    0 Aug 25 13:30 0000:00:16.0
drwxr-xr-x  5 root root    0 Aug 25 13:30 0000:00:1a.0
drwxr-xr-x  7 root root    0 Aug 25 13:30 0000:00:1b.0
drwxr-xr-x  4 root root    0 Aug 25 13:30 0000:00:1c.0
drwxr-xr-x  5 root root    0 Aug 25 13:30 0000:00:1c.3
drwxr-xr-x  5 root root    0 Aug 25 13:30 0000:00:1c.4
drwxr-xr-x  5 root root    0 Aug 25 13:30 0000:00:1c.5
drwxr-xr-x  5 root root    0 Aug 25 13:30 0000:00:1c.6
drwxr-xr-x  5 root root    0 Aug 25 13:30 0000:00:1c.7
drwxr-xr-x  5 root root    0 Aug 25 13:30 0000:00:1d.0
drwxr-xr-x  5 root root    0 Aug 25 13:30 0000:00:1f.0
drwxr-xr-x 10 root root    0 Aug 25 13:30 0000:00:1f.2
drwxr-xr-x  4 root root    0 Aug 25 13:30 0000:00:1f.3
The entries in /sys/bus/pci/devices/ are just symlinks to those entroes.

Code:
$ cd /sys/bus/pci/devices/
$ ll
total 0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:00.0 -> ../../../devices/pci0000:00/0000:00:00.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:01.0 -> ../../../devices/pci0000:00/0000:00:01.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:02.0 -> ../../../devices/pci0000:00/0000:00:02.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:16.0 -> ../../../devices/pci0000:00/0000:00:16.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1a.0 -> ../../../devices/pci0000:00/0000:00:1a.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1b.0 -> ../../../devices/pci0000:00/0000:00:1b.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1c.0 -> ../../../devices/pci0000:00/0000:00:1c.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1c.3 -> ../../../devices/pci0000:00/0000:00:1c.3
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1c.4 -> ../../../devices/pci0000:00/0000:00:1c.4
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1c.5 -> ../../../devices/pci0000:00/0000:00:1c.5
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1c.6 -> ../../../devices/pci0000:00/0000:00:1c.6
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1c.7 -> ../../../devices/pci0000:00/0000:00:1c.7
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1d.0 -> ../../../devices/pci0000:00/0000:00:1d.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1f.0 -> ../../../devices/pci0000:00/0000:00:1f.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1f.2 -> ../../../devices/pci0000:00/0000:00:1f.2
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:00:1f.3 -> ../../../devices/pci0000:00/0000:00:1f.3
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:01:00.0 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:01:00.1 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.1
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:03:00.0 -> ../../../devices/pci0000:00/0000:00:1c.3/0000:03:00.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:04:02.0 -> ../../../devices/pci0000:00/0000:00:1c.3/0000:03:00.0/0000:04:02.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:05:00.0 -> ../../../devices/pci0000:00/0000:00:1c.4/0000:05:00.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:06:00.0 -> ../../../devices/pci0000:00/0000:00:1c.5/0000:06:00.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:07:00.0 -> ../../../devices/pci0000:00/0000:00:1c.6/0000:07:00.0
lrwxrwxrwx 1 root root 0 Aug 25 13:30 0000:08:00.0 -> ../../../devices/pci0000:00/0000:00:1c.7/0000:08:00.0

$ readlink -f 0000:00:1a.0
/sys/devices/pci0000:00/0000:00:1a.0
[andrew@server47 devices]
$ readlink -f 0000:01:00.0
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0
 
Old 08-26-2017, 11:35 AM   #5
tofino_surfer
Member
 
Registered: Aug 2007
Posts: 483

Rep: Reputation: 153Reputation: 153
Quote:
No rule that a proprietary PCIe device has to report to buss I guess. (pretty sure on that)
Actually I am pretty sure that you just made that up. First of all there is no such thing as a "proprietary PCIe device" just a PCIe device that may use a proprietary storage protocol instead of standard SATA AHCI protocols.

Second PCIe devices don't "report to bus" they are scanned at boot time and return their vendor and product ids. The PCIe network can be rescanned in Linux later on as well. Although the driver protocol may be nonstandard every PCIe device needs to support the same basic PCIe interface otherwise it can't communicate on the PCIe network.

Quote:
Could be an oddity of the maker or faulty chip on it.
Actually the OP never said that only this device never showed up in /sys/... They were wondering why all PCIe devices couldn't be found in /sys/devices but I showed that they are.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Hotplug of PCIe switch devices. nskogler Linux - Hardware 3 03-24-2015 08:10 PM
What is stored in /sys/devices/pci0000:00? taylorkh Linux - Newbie 6 08-21-2013 07:55 PM
Writing PCIe device driver pythonarms Linux - Kernel 0 02-23-2009 01:45 PM
Are there any PCIe compatable devices apart from graphics cards yet? APB_4 Linux - Hardware 1 03-31-2005 04:40 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 02:37 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration