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 08-30-2021, 12:49 AM   #1
afr0ck
LQ Newbie
 
Registered: May 2018
Posts: 4

Rep: Reputation: Disabled
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
 
Old 08-30-2021, 10:30 AM   #2
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 17,418

Rep: Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590
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.
 
Old 08-30-2021, 01:22 PM   #3
afr0ck
LQ Newbie
 
Registered: May 2018
Posts: 4

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by business_kid View Post
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
 
Old 08-31-2021, 03:47 AM   #4
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 17,418

Rep: Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590
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.
 
Old 09-01-2021, 07:47 PM   #5
afr0ck
LQ Newbie
 
Registered: May 2018
Posts: 4

Original Poster
Rep: Reputation: Disabled
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).
 
Old 09-02-2021, 05:50 AM   #6
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 17,418

Rep: Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590
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?
 
Old 11-20-2021, 07:24 PM   #7
mithnae
LQ Newbie
 
Registered: Nov 2021
Distribution: AlmaLinux
Posts: 2

Rep: Reputation: Disabled
Post

Quote:
Originally Posted by afr0ck View Post
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 View Post
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
 
Old 11-21-2021, 11:04 AM   #8
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 17,418

Rep: Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590Reputation: 2590
Quote:
Originally Posted by mithnae View Post
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.
 
Old 11-21-2021, 01:32 PM   #9
mithnae
LQ Newbie
 
Registered: Nov 2021
Distribution: AlmaLinux
Posts: 2

Rep: Reputation: Disabled
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
 
  


Reply

Tags
asus, firmware, ipmi, linux, rtl


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
LXer: GNOME Firmware App Launches Officially to Make Updating Firmware Easier on Linux LXer Syndicated Linux News 0 09-18-2019 08:03 AM
Ace Stream issue Teufel Linux - Software 1 01-27-2017 02:32 PM
Red Ace Squadron (Pro) v1 on Linux? LAN-Dominator.nl Linux - Games 0 08-03-2010 06:03 AM
Serious IPMI issue with RHEL4, HELP!!! beeth2006 Linux - Networking 1 08-31-2007 03:12 PM
IPMI Help to access Firmware Versions. Kamesh69 Linux - Newbie 0 08-07-2003 09:37 AM

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

All times are GMT -5. The time now is 08:19 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