LinuxQuestions.org
Help answer threads with 0 replies.
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 02-02-2019, 07:29 AM   #1
hazel
Senior Member
 
Registered: Mar 2016
Location: Harrow, UK
Distribution: LFS, AntiX, Slackware
Posts: 2,730
Blog Entries: 6

Rep: Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397
My ethernet driver asks for firmware but seems well able to run without it


My ethernet card is a Realtek RT8168 running on the r8169 driver module. I noticed an error in dmesg complaining about absent firmware, but the card seemed to work perfectly well without it in both Slackware and LFS.

I found the specified firmware file inside a Debian non-free package, so I extracted it and put it in /lib/firmware. Now I don't get that error any more, but I haven't noticed any difference in the card's behaviour. So what is the firmware for? Is it anything to do with this article which suggests that the kernel's r8169 driver is (or once was) unstable on RT8168 chips? Of course the article could be way out of date; I couldn't find a date on the page.

Just curious

PS: Someone else had the same problem (https://www.linuxquestions.org/quest...2-a-4175555113) but in Debian itself. They don't say though whether their card worked without the firmware.

Last edited by hazel; 02-02-2019 at 07:36 AM. Reason: Added postscript
 
Old 02-02-2019, 12:09 PM   #2
pan64
LQ Guru
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 12,286

Rep: Reputation: 3796Reputation: 3796Reputation: 3796Reputation: 3796Reputation: 3796Reputation: 3796Reputation: 3796Reputation: 3796Reputation: 3796Reputation: 3796Reputation: 3796
yes, they are "almost" the same. But better to use the perfect one. The other one is not fully compatible, there can be packet loss, speed problems and other interesting effects. At least something similar happened to me. (I have an r8169 chip and initially the kernel loaded r8168). But I don't fully understand it (too).
 
Old 02-02-2019, 01:26 PM   #3
colorpurple21859
Senior Member
 
Registered: Jan 2008
Location: florida panhandle
Distribution: slackware64-current, puppy, ubuntu
Posts: 2,793

Rep: Reputation: 408Reputation: 408Reputation: 408Reputation: 408Reputation: 408
my r8169 will cause some kernel versions to panic without the firmware and have to blacklist the module at grub prompt when booting some installation iso's
 
Old 02-03-2019, 06:25 AM   #4
hazel
Senior Member
 
Registered: Mar 2016
Location: Harrow, UK
Distribution: LFS, AntiX, Slackware
Posts: 2,730

Original Poster
Blog Entries: 6

Rep: Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397
My Slackware kernel (4.4.14) doesn't have an r8168 module, only r8139 and r8169. The article I tagged tells you how to build the proprietary driver instead. But the symptoms described (slowness in downloading pages, with transfer speeds dropping to a few hundred kB/sec) didn't show up on my machine. On the contrary. It was my old machine, which used an Intel card, that did that, at least when I was using scp. I noticed the difference when I did my first dumps from the new machine. Instead of variable speeds that sometimes dropped to 400-600 kB/sec, I now have a steady transfer speed of 1.4 MB/sec. And that was without the firmware.
 
Old 02-07-2019, 08:57 AM   #5
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 9,923

Rep: Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077
Funny. I thought I had an r8169 too, little used but no issues. For a prolific designing company with multiple kernel drivers like Realtek, the kernel documentation is zero. From /usr/src/linux-<blah>/drivers/net/ethernet/realtek/r8169.c
Code:
#define MODULENAME "r8169"

#define FIRMWARE_8168D_1        "rtl_nic/rtl8168d-1.fw"
#define FIRMWARE_8168D_2        "rtl_nic/rtl8168d-2.fw"
#define FIRMWARE_8168E_1        "rtl_nic/rtl8168e-1.fw"
#define FIRMWARE_8168E_2        "rtl_nic/rtl8168e-2.fw"
#define FIRMWARE_8168E_3        "rtl_nic/rtl8168e-3.fw"
#define FIRMWARE_8168F_1        "rtl_nic/rtl8168f-1.fw"
#define FIRMWARE_8168F_2        "rtl_nic/rtl8168f-2.fw"
#define FIRMWARE_8105E_1        "rtl_nic/rtl8105e-1.fw"
#define FIRMWARE_8402_1         "rtl_nic/rtl8402-1.fw"
#define FIRMWARE_8411_1         "rtl_nic/rtl8411-1.fw"
#define FIRMWARE_8411_2         "rtl_nic/rtl8411-2.fw"
#define FIRMWARE_8106E_1        "rtl_nic/rtl8106e-1.fw"
#define FIRMWARE_8106E_2        "rtl_nic/rtl8106e-2.fw"
#define FIRMWARE_8168G_2        "rtl_nic/rtl8168g-2.fw"
#define FIRMWARE_8168G_3        "rtl_nic/rtl8168g-3.fw"
#define FIRMWARE_8168H_1        "rtl_nic/rtl8168h-1.fw"
#define FIRMWARE_8168H_2        "rtl_nic/rtl8168h-2.fw"
#define FIRMWARE_8107E_1        "rtl_nic/rtl8107e-1.fw"
#define FIRMWARE_8107E_2        "rtl_nic/rtl8107e-2.fw"
So we end up that the r8169 module doesn't provide firmware for the 8169, if such a thing exists
I tried with 'lspci-vv' but the best ID I got was 8111/8168/8411, and this info on pci id 10ec:8168 . There's just versions of 8168 in the firmware.
The principal difference appears to be what version of pcie bus they support. All the main features are identical. And some geek in Realtek is throwing around device numbers like confetti at a wedding.

Now, vaguely thinking back to the 2012 blurb when buying this box, I vaguely remember an 8111 nic in the specs, and surprise that an 8111 chip/ip core was supported by an 8169 module. Isn't memory a funny thing?

So my (IIRC) RTL8111 is actually an 8168 in an earlier phase using the 8169 module. And we along with 8411 owners all have pretty identical RTL8168 devices with the same feature set, just running on different pcie bus specs.
 
2 members found this post helpful.
Old 02-07-2019, 09:38 AM   #6
hazel
Senior Member
 
Registered: Mar 2016
Location: Harrow, UK
Distribution: LFS, AntiX, Slackware
Posts: 2,730

Original Poster
Blog Entries: 6

Rep: Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397
Now that is interesting! So are these firmware patches just modifying the card's use of the pci bus?
 
Old 02-07-2019, 10:27 AM   #7
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 9,923

Rep: Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077
That was my cursory assessment of it. Realtek's info is poor. But there was PCIe-1.0 - 5.x so far.

There's powerful incentives on hardware manufacturers not to fiddle with designs which are tested, approved, & happy in their nappies/diapers. Any messing would require retesting, delays, expense, etc. They could test it at the max performance exceeding PCIe-1.0. If they have the heart of a device which works, they might accommodate the extra instructions or speed in firmware. It's certainly what I'd try to do. I'm sure there are more sales in IP Cores than silicon these days anyhow.
 
1 members found this post helpful.
Old 02-07-2019, 10:40 AM   #8
hazel
Senior Member
 
Registered: Mar 2016
Location: Harrow, UK
Distribution: LFS, AntiX, Slackware
Posts: 2,730

Original Poster
Blog Entries: 6

Rep: Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397Reputation: 1397
Well, that's the solution then. Thanks, business_kid.
 
Old 02-08-2019, 03:20 AM   #9
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 9,923

Rep: Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077
Yeah. That way they just add a different prescaling divider for the clock and fiddle with the number;maybe add 1 or 2 extra commands from the new spec to ignore

EDIT: Just for the record, with the firmware there in /lib/firmware/rtl_nic/ my rtl8111(iirc) doesn't ask for any, or load any. Evidently it's preloaded with something.

Last edited by business_kid; 02-08-2019 at 04:17 AM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
I want to run Mandriva on my Windows 10 computer but still be able to boot windows as well gxulien Linux - Newbie 7 11-23-2018 05:35 PM
[SOLVED] CDROM seems to be there but also seems not to be mounted. Crb999 SUSE / openSUSE 47 02-06-2017 03:33 PM
computer asks me to run a FSCK Manually, but won't : says can't run on mounted lightwave Linux - Newbie 12 04-02-2008 12:25 AM
Well well well..what do we have here? DaBlade Linux - News 4 10-03-2005 10:07 AM
rpm install: A asks for B, B asks for A mike_bio Linux - Software 6 07-15-2005 04:00 AM

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

All times are GMT -5. The time now is 12:45 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
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration