LinuxQuestions.org
Review your favorite Linux distribution.
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 03-02-2024, 06:13 AM   #1
Matthew Wai
Member
 
Registered: Jul 2019
Location: China
Distribution: UnionTech OS Desktop Home (64-bit)
Posts: 200

Rep: Reputation: Disabled
Does the kernel contain drivers for all the devices listed in "usb.ids"?


My Linux has the following file:
Code:
xdg-open /usr/share/misc/usb.ids
Does the kernel contain drivers for all the devices listed in the above "usb.ids" file?
 
Old 03-02-2024, 08:48 AM   #2
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,306

Rep: Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324
In answer to your question, No.

Not all the devices with a usb id (which is a number) have a module written for them by open source developers (which is an involved process). Not all the modules written are of high enough coding standards to be included in the kernel.

Realtek, for example have made more wifi chips than you or I have had hot dinners. Yet they don't support linux, and many linux drivers that have emerged don't get past Linus Torvalds and get included in the kernel. There's a number of Realtek linux wifi drivers on github contributed by various folks. Nvidia is another example. I presume this applies to other manufacturers also.
 
1 members found this post helpful.
Old 03-02-2024, 08:56 AM   #3
michaelk
Moderator
 
Registered: Aug 2002
Posts: 25,710

Rep: Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899
Basically usb.ids is just a list of all known IDs used in USB devices. It is updated from your distributions package manager but flows down from here:
http://www.linux-usb.org/usb-ids.html

What is displayed in the output of the lsusb command comes from that list.
 
1 members found this post helpful.
Old 03-02-2024, 08:56 AM   #4
wpeckham
LQ Guru
 
Registered: Apr 2010
Location: Continental USA
Distribution: Debian, Ubuntu, RedHat, DSL, Puppy, CentOS, Knoppix, Mint-DE, Sparky, VSIDO, tinycore, Q4OS,Manjaro
Posts: 5,638

Rep: Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697
There are drivers that CAN be modules but are normally just compiled in directly that support a communication device standard and support multiple different devices of the same general type. If one of these serves well, there may never be a specific module written for devices in that class because there will never be a need for one.

Is there a specific reason for your question, or are you just curious? (Both good reasons for asking.)
 
Old 03-03-2024, 06:07 AM   #5
Matthew Wai
Member
 
Registered: Jul 2019
Location: China
Distribution: UnionTech OS Desktop Home (64-bit)
Posts: 200

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by wpeckham View Post
Is there a specific reason for your question, or are you just curious? (Both good reasons for asking.)
On a Chinese forum, a member said (in Chinese) that the kernel included a driver for Realtek RTL8188EUS and "RTL8188EUS" existed in "usb.ids". Therefore, I wondered whether the kernel had drivers for all the devices listed in the file.
 
Old 03-03-2024, 06:19 AM   #6
Matthew Wai
Member
 
Registered: Jul 2019
Location: China
Distribution: UnionTech OS Desktop Home (64-bit)
Posts: 200

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by michaelk View Post
What is displayed in the output of the lsusb command comes from that list.
On my Linux, the output of "lsusb" does not contain the name of my USB speakers, which have been working fine.
In the following output, "Bus 003 Device 007" refers to my USB speakers.

Code:
Matthew_Wai@My-PC:~$ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 007: ID 18c3:6255  
Bus 003 Device 006: ID 0781:5591 SanDisk Corp. Ultra Flair
Bus 003 Device 004: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 003 Device 005: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2
Bus 003 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 003 Device 002: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 
Old 03-03-2024, 06:51 AM   #7
Matthew Wai
Member
 
Registered: Jul 2019
Location: China
Distribution: UnionTech OS Desktop Home (64-bit)
Posts: 200

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by business_kid View Post
many linux drivers that have emerged don't get past Linus Torvalds and get included in the kernel.
Thanks for the info! I did not know that.
 
Old 03-03-2024, 09:45 AM   #8
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,306

Rep: Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324
Quote:
Originally Posted by Matthew Wai View Post
Thanks for the info! I did not know that.
There is a system set up in the kernel where 'unworthy' code can be compiled. I believe the Makefile can employ a 'make-C' instruction, compile with kernel headers, and end up in /lib/modules/kernel-version/misc/. These get used like other modules, but every time you update the kernel, you have to remake the module, because they're non transferable.
 
Old 03-03-2024, 09:55 AM   #9
michaelk
Moderator
 
Registered: Aug 2002
Posts: 25,710

Rep: Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899
Quote:
Bus 003 Device 007: ID 18c3:6255
The USB ID 18c3:6255 is not in the "system" which is why there isn't a description in that line. I assume they are not working?
 
Old 03-04-2024, 01:20 AM   #10
Matthew Wai
Member
 
Registered: Jul 2019
Location: China
Distribution: UnionTech OS Desktop Home (64-bit)
Posts: 200

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by michaelk View Post
The USB ID 18c3:6255 is not in the "system" which is why there isn't a description in that line. I assume they are not working?
They have been working perfectly.
Their name is "Elite Silicon USB Audio Device" as shown below:

Code:
Matthew_Wai@My-PC:~$ lsusb|grep 18c3:6255
Bus 003 Device 007: ID 18c3:6255  
Matthew_Wai@My-PC:~$ cat /proc/asound/cards|grep Device
 3 [Device_1       ]: USB-Audio - USB Audio Device
                      Elite Silicon USB Audio Device at usb-0000:00:14.0-4.4, full speed
Matthew_Wai@My-PC:~$ sudo hwinfo --sound| grep Audio -i
[sudo] password for Matthew_Wai: 
13: PCI 1b.0: 0403 Audio device
  Model: "Intel 8 Series/C220 Series Chipset High Definition Audio Controller"
  Device: pci 0x8c20 "8 Series/C220 Series Chipset High Definition Audio Controller"
16: PCI 03.0: 0403 Audio device
  Model: "Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller"
  Device: pci 0x0c0c "Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller"
26: USB 00.0: 0401 Multimedia audio controller
  Model: "Elite Silicon USB Audio Device"
  Device: usb 0x6255 "USB Audio Device"
  Driver: "snd-usb-audio"
  Driver Modules: "snd_usb_audio"
    Driver Status: snd_usb_audio is active
    Driver Activation Cmd: "modprobe snd_usb_audio"
Matthew_Wai@My-PC:~$
 
Old 03-04-2024, 04:30 AM   #11
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,306

Rep: Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324
The realities of electronics mean that generic parts can be used, which are kernel supported. There's also a very low price point to meet. It stands to reason that parts would be generic
 
Old 03-04-2024, 05:55 AM   #12
Matthew Wai
Member
 
Registered: Jul 2019
Location: China
Distribution: UnionTech OS Desktop Home (64-bit)
Posts: 200

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by business_kid View Post
The realities of electronics mean that generic parts can be used, which are kernel supported. There's also a very low price point to meet. It stands to reason that parts would be generic
In the future, assuming I have to buy a new pair of USB speakers, how can I know whether generic parts are used before I purchase it?
 
Old 03-04-2024, 06:34 AM   #13
michaelk
Moderator
 
Registered: Aug 2002
Posts: 25,710

Rep: Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899
If you want to see a description in the lsusb output you can manually edit the file.
 
Old 03-04-2024, 08:40 AM   #14
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,306

Rep: Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324Reputation: 2324
Quote:
Originally Posted by Matthew Wai View Post
In the future, assuming I have to buy a new pair of USB speakers, how can I know whether generic parts are used before I purchase it?
I have never heard of a speaker needing a driver or module. Have you?
 
Old 03-04-2024, 10:59 AM   #15
wpeckham
LQ Guru
 
Registered: Apr 2010
Location: Continental USA
Distribution: Debian, Ubuntu, RedHat, DSL, Puppy, CentOS, Knoppix, Mint-DE, Sparky, VSIDO, tinycore, Q4OS,Manjaro
Posts: 5,638

Rep: Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697Reputation: 2697
Quote:
Originally Posted by business_kid View Post
I have never heard of a speaker needing a driver or module. Have you?
Yes, and often. But it has become quite rare since about 2004. Even before that it was more often the sound card or audio integrated circuit that needed a special driver. Generalizing those (was that in 2008?) and splitting our subsystems (and then the UDEV device detection and support) really made life easier for the users in that regard.
 
  


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
[SOLVED] How to find files that contain one string, but don't contain another. PatrickDickey Linux - Newbie 2 09-11-2011 06:00 AM
[SOLVED] Display every line that does not contain one of the listed words smeezekitty Programming 4 02-18-2010 12:51 AM
What does "Directory "/usr/src/linux" doesn't appear to contain kernel source." mean? jtp51 Linux - General 4 06-11-2007 12:22 AM
Java threads listed using kill -3 does not contain all threads found using ps -auxww coneheed Programming 2 11-14-2005 08:57 AM
Do not have "Wireless Connection" listed in "Devices" Jason267 Linux - Newbie 8 07-24-2002 10:39 PM

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

All times are GMT -5. The time now is 04:48 PM.

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