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 |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
08-30-2021, 12:49 AM
|
#1
|
LQ Newbie
Registered: May 2018
Posts: 4
Rep: 
|
Updating RTL8117 firmware to solve IPMI issue on Asus Pro WS W480-ACE
I have an Asus Pro WS W480-ACE board with Linux kernel 5.11.0 (Ubuntu 21.04).
Although the RTL8117 Ethernet interface is working, the IPMI driver always fails with:
Code:
karim@phi:~$ sudo dmesg | grep ipmi
[ 5.816918] ipmi device interface
[ 5.927158] ipmi_si: IPMI System Interface driver
[ 5.927230] ipmi_si: Unable to find any System Interface(s)
[ 11.413426] ipmi_si: IPMI System Interface driver
[ 11.413489] ipmi_si: Unable to find any System Interface(s)
It seems that there is a firmware update released for the RTL8117 [1] and that could solve the issue.
I downloaded the firmware update and after unzipping, I get only a .img data file. I have no idea how to install the firmware from this file!
Based on the documentation [2], it seems that there is a way to do an RTL8117 firmware update using Asus Control Center Express. However, it is only available on Windows and it is not free.
The question is, how can I update the RTL8117 firmware using the .img data file [1] on Linux (i.e., without using Asus Control Center Express)?
Any other pointers regarding the IPMI issue are also welcome.
[1] https://www.asus.com/Motherboards-Co...HelpDesk_BIOS/
[2] https://dlcdnets.asus.com/pub/ASUS/m...ess_EM_WEB.pdf
|
|
|
08-30-2021, 10:30 AM
|
#2
|
LQ Guru
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 17,418
|
You have an .img file; Let's call it 8117.img, as you don't give the name. Try this
Code:
cd /lib/firmware
find -name '8117.img'
You should find your 8117 firmware in a tangled mess of subdirectories that probably seemed logical to someone at some hour of the day or night. If you don't find it, install the kernel firmware. Presuming you do, back up your existing firmware and install the new firmware in it's place.
|
|
|
08-30-2021, 01:22 PM
|
#3
|
LQ Newbie
Registered: May 2018
Posts: 4
Original Poster
Rep: 
|
Quote:
Originally Posted by business_kid
You have an .img file; Let's call it 8117.img, as you don't give the name. Try this
Code:
cd /lib/firmware
find -name '8117.img'
You should find your 8117 firmware in a tangled mess of subdirectories that probably seemed logical to someone at some hour of the day or night. If you don't find it, install the kernel firmware. Presuming you do, back up your existing firmware and install the new firmware in it's place.
|
Thanks for the reply business_kid!
The name of the downloaded firmware update is RTL_8117_Firmware_0111.zip, and after unzipping there a single 7Mb file named 0111_20200318_website_k_sign.img. Here is the output of the file command and the few first bytes with hexdump.
Code:
karim@phi:~/Downloads$ file 0111_20200318_website_k_sign.img
0111_20200318_website_k_sign.img: data
karim@phi:~/Downloads$
karim@phi:~/Downloads$ hexdump -C 0111_20200318_website_k_sign.img | head
00000000 30 63 33 35 38 38 38 64 37 62 36 31 63 64 30 38 |0c35888d7b61cd08|
00000010 30 34 31 62 61 39 37 37 36 30 35 33 39 65 37 33 |041ba97760539e73|
00000020 46 57 56 45 52 3d 30 31 31 31 5f 32 30 32 30 30 |FWVER=0111_20200|
00000030 33 31 38 0a 42 75 69 6c 64 44 61 74 65 3d 32 30 |318.BuildDate=20|
00000040 32 30 2f 30 33 2f 31 38 20 31 38 3a 33 34 3a 30 |20/03/18 18:34:0|
00000050 31 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |1...............|
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000300 aa 5d b5 98 4b 7e f6 44 16 50 0a 77 f0 5a 68 9a |.]..K~.D.P.w.Zh.|
00000310 1d 1c 97 49 11 33 93 6d ab b8 73 c6 41 dd 9a 2f |...I.3.m..s.A../|
Based on the kernel sources [1], it seems that the firmware file for the RTL8117 is at /lib/firmware/rtl_nic/rtl8168fp-3.fw which is loaded at rtl_hw_start_8117() [2]. However, after I compared the existing rtl8168fp-3.fw with the file I got from the firmware update, they seem very different. First, size-wise, rtl8168fp-3.fw is just few bytes and the other is 7.4Mb. Second, the format and the content (based on hexdump) seems to be very different. Thus I assume it is not safe to replace rtl8168fp-3.fw. It seems like the downloaded firmware update is something different that should be loaded onto the RTL8117 via a different interface.
I am just stuck now and I have no idea how to get this firmware update onto the chip from Linux and there is literally no documentation or support, except the Asus Control Center Express.
[1] https://elixir.bootlin.com/linux/v5....69_main.c#L147
[2] https://elixir.bootlin.com/linux/v5....9_main.c#L3304
|
|
|
08-31-2021, 03:47 AM
|
#4
|
LQ Guru
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 17,418
|
The 8168 is the name used for 3 1GB ethernet cards/chips - the 8111, 8169, & 8181(??).
Try it, I would suggest. Also pore over the logs to see what firmware it is suggesting.
|
|
|
09-01-2021, 07:47 PM
|
#5
|
LQ Newbie
Registered: May 2018
Posts: 4
Original Poster
Rep: 
|
Ok. After tinkering a little more with this, I came out to the conclusion that the RTL8117 BMC from Asus is not using the IPMI interface, it is based on proprietary software and it can only be used from Asus Control Center Express (but it has to be configured from BIOS with a static IP address and Remote Multi-Control display mode).
The card is also not very reliable, sometimes it just stops responding to commands, some other times it goes off and you need to hard reset to get it back or the keyboard might just randomly not work. It's a proprietary pseudo IPMI device that runs a Linux distribution and an HTTPs server (with some VNC stuff based on the ports ACCE is using to communicate with the chip). I tried to reverse engineer the API to be able to use it from Linux but with HTTPs that was near impossible (maybe some other skilled person could do it, but honestly this chip is useless).
|
|
|
09-02-2021, 05:50 AM
|
#6
|
LQ Guru
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 17,418
|
Handiest thing then is to post about it on the LKML, and leave it to the kernel guys.
As for yourself, why not just put in another wifi nic?
|
|
|
11-20-2021, 07:24 PM
|
#7
|
LQ Newbie
Registered: Nov 2021
Distribution: AlmaLinux
Posts: 2
Rep: 
|
Quote:
Originally Posted by afr0ck
Ok. After tinkering a little more with this, I came out to the conclusion that the RTL8117 BMC from Asus is not using the IPMI interface, it is based on proprietary software and it can only be used from Asus Control Center Express (but it has to be configured from BIOS with a static IP address and Remote Multi-Control display mode).
|
I happen to be blessed by the same management tech on my Asus Pro WS X570-ACE.
Indeed the firmware image contains some kind of MIPS-based OpenWRT derived distribution — ASUS publishes sources here https://dlcdnets.asus.com/pub/ASUS/m...src.tar.gz.zip
As Realtek documentation available on their website does not mention any kind of embedded SoC core inside rtl8117 (and it is not advertised as BMC), I wonder where exactly is this OpenWRT running
Quote:
Originally Posted by afr0ck
The card is also not very reliable, sometimes it just stops responding to commands, some other times it goes off and you need to hard reset to get it back or the keyboard might just randomly not work. It's a proprietary pseudo IPMI device that runs a Linux distribution and an HTTPs server (with some VNC stuff based on the ports ACCE is using to communicate with the chip). I tried to reverse engineer the API to be able to use it from Linux but with HTTPs that was near impossible (maybe some other skilled person could do it, but honestly this chip is useless).
|
I have not observed the instabilities with RTL8117.
As to the API maybe this thread will be of some help to you https://forum.level1techs.com/t/remo...inux/146432/55
|
|
|
11-21-2021, 11:04 AM
|
#8
|
LQ Guru
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 17,418
|
Quote:
Originally Posted by mithnae
I happen to be blessed by the same management tech on my Asus Pro WS X570-ACE.
Indeed the firmware image contains some kind of MIPS-based OpenWRT derived distribution — ASUS publishes sources here https://dlcdnets.asus.com/pub/ASUS/m...src.tar.gz.zip
As Realtek documentation available on their website does not mention any kind of embedded SoC core inside rtl8117 (and it is not advertised as BMC), I wonder where exactly is this OpenWRT running
I have not observed the instabilities with RTL8117.
As to the API maybe this thread will be of some help to you https://forum.level1techs.com/t/remo...inux/146432/55
|
For sure there's some cpu in there. Exactly what do you think it's running "some kind of MIPS-based OpenWRT derived distribution" on? As a hardware geek, I can tell you a cpu is just the easiest way to control wifi. The alternative is hardware logic (think logic gates), and that doesn't need firmware. They're using some cpu they are familiar with. If it's MIPS-based, why not check them out https://www.mips.com/. They are Reduced Instruction Set Computers (RISC), which were a good idea back in the 1970s, before 16 bit cpus became popular.
The cpu is probably an IP core in some corner of their design. Realtek turn out dozens of these, instead of much fewer good ones, but they obviously are dirt cheap. That said, they are not the worst support wise.
|
|
|
11-21-2021, 01:32 PM
|
#9
|
LQ Newbie
Registered: Nov 2021
Distribution: AlmaLinux
Posts: 2
Rep: 
|
RTL8117 is not a wifi chip (although apparently it can drive one on its own PCIe bus) — and the ethernet portion (.1) of it (part of rtl81xx family driven by r8169 module) usually requires a firmware (for all other chips in the family at least) – in this case /lib/firmware/rtl_nic/rtl8168fp-3.fw
Besides there is a serial (.2), EHCI (.4), ipmi (.7) (non-functional) and VGA (.3?) (switchable) exposed as sub devices
I was wondering why the full capabilities of it are not advertised – esp. that Realtek uses MIPS in their other, older SoC designs, like switches and access points / home gateways — so for sure they are well versed in programing it. And here it is just plain, stripped down OpenWRT with one application in lua replacing full LUCI web interface to implement simple API + a set of proprietary utilities: vnc server and some mamangement binary for interacting with rest of the motherboard.
As for the merit of this thread — the full scope of the api was shown in the level2tech forums I linked above — just 7z x the exec file, get the full install of OpenWRT, all endpoints are defined in /usr/lib/lua/luci/controller/apiapp.lua
|
|
|
All times are GMT -5. The time now is 08:19 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|