• [6.8.2] SIS 191 Chipset Support for Gigabit


    ymilord
    • Minor

    In the latest build of unraid (6.8.2), I am having issues with the SIS 191. Thou a NIC is detected, but only connects at 10/100 mbit vs. Gigabit.

     

    The switch its connected to (Cisco C2970) claims the connection is gigabit. The strange thing is via the UI in unraid is shows the link speed is only 10/100. The other issue is network inconsistency, Thou I can hit the UI via HTTP, It has trouble registering and activation the trial key and downloading additional plugins/packages.

     

    *I've also tried two other switches (Mikrotik CRS112-8G-4S-IN & a crappy Netgear 8 port switch.)

     

    It can ping its local subnet, other machines on the same subnet can ping it, it can ping its gateway and various WAN sites. But anything else (i.e. software updates or plugins) it timeouts.

     

    This machine (HP EX475) had Windows Server 2012 running on it for many years and its currently connected the same exact way. Had no issues up to this point. So this seems like a driver issue of some kind with-in unraid for that specific chipset.

     

    Method used to troubleshoot.

     

    - I've reimaged two different USB Keys with unraid 6.8.1 & 6.8.2 (4 times each). Same issue described above.

     

    - I've reinstalled Windows Server 2012 & 2016 and both installs connects and reports full gigabit speeds on both ends (machine &       switch and I've done a couple local machine-to-machine test and local-to-wan test. All works as expected.)

     

    - Checked the BIOS for any weird or non-standard options for the NIC (i.e. PXE or Legacy.) And flatten the BIOS to its defaults 3~4   times thinking that something was enabled or disabled causing the issue. No Dice.

     

    - For the Trial Key issue, I've triple checked the bios clock and even changed its battery. Made sure NTP was good and connected. Checked for drift. Even created a local NTP server with-in the network. Unraid reports the correct time as does the BIOS. (Firing the date command in the console presents the correct time/date also.) It still claims it can not connect to activate the key.

     

    I've also manually deleted the Trial.key file and attempt to create a 'fresh' key after reboots a couple of times. No Dice.

     

    *As a side note, in Terminal I can see a curl process with an activation key, that process seems to be hung. When I copy and reformat the command and refire it in the console I get, 'Oh noes! something doesn't seem right here' But I think this is due to the structure of the command I am sending back. Just a note that I can see it 'trying'

     

    All of the above leads me to believe there is an issue on whatever driver package uraid is using for the SIS 191. Which puts it in this limbo state of working/not working?

     

    Any suggestions on how to get this working? Or steps to update the driver? 

     

    Thanks in advance.




    User Feedback

    Recommended Comments

    You should post your system diagnostics zip file (obtained via Tools >> Diagnostics) with your NEXT post so we can see what is going on.

    Link to comment

    The interface reports to support 10 Mbps and 100 Mbps only

    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 

    It is using driver version 1.4 which comes with the Linux kernel. Unlikely SiS provides a newer version

    driver: sis190
    version: 1.4

    There is a mismatch between server and switch which causes your connection to be flaky.

     

    Try to set a fixed setting of 100/FD on the Cisco switch.

     

    Side note: a lease time of 10 minutes is very short. It is recommended to make that longer, e.g. 1 day

     

    Alternatively you can add an Intel based NIC and use instead of the built-in NIC.

    Edited by bonienl
    Link to comment

    But under windows it supports full gigabit? And has been for 4 years.

     

    After diving into this for a couple hours it seems that kernel is misidentifying the ISA Bridge ID.

     

    What it's looking for is the SiS965 and what I have is the SiS966

     

    00:02.0 ISA bridge [0601]: Silicon Integrated Systems [SiS] SiS966 [MuTIOL Media IO] [1039:0966] (rev 59) 

     

    As for the Ethernet Adapter is presents itself as.

     

    00:04.0 Ethernet controller [0200]: Silicon Integrated Systems [SiS] 191 Gigabit Ethernet Adapter [1039:0191] (rev 01)

     

    It seems like I need to change/add the Bridge ID for the SIS966 in the kernel to match what I have. This is above my pay grade.

     

    Also, Statically setting the negotiating speed on the switch (all three - Cisco, Mikrotik or the Netgear) to 100mbit Full Duplex has no effect. 

    Edited by ymilord
    Link to comment

    Linux detects the hardware components automatically upon startup, there isn't anything you can do manually.

     

    See if there is a newer BIOS for your motherboard. You are curently running a version from 2007.

     

    Link to comment

    There is no means of adding another ethernet card is this style of machine (Unless you mean USB which is unacceptable.). And it has the latest BIOS version as you stated from 2007.

    Edited by ymilord
    Link to comment
    16 minutes ago, ymilord said:

    But under windows it supports full gigabit? And has been for 4 years.

    Are you sure?

    I highly doubt that. Supported speeds are hardware determined and not driver dependent.

     

    It was quite common for your generation of motherboard to support 10/100 only.

    Edited by bonienl
    Link to comment

    I am absolutely, 100% sure. As stated in the OP- I've reinstalled Windows and have done speed tests via LAN and WAN.

    And the output from lspci from the machine with unraid running list [SiS] 191 Gigabit Ethernet Adapter [1039:0191] 

     

    I would not have open this ticket otherwise. 

    Link to comment
    6 minutes ago, ymilord said:

    I would not have open this ticket otherwise. 

    According to the SiS site the latest Linux driver for these type of ethernet controllers is from 2005.

    What is provided with Unraid surely is the latest available driver version.

    Sorry, no other solution at hand. Your system doesn't have free PCI(E) slots to add additional cards?

    Link to comment

     

    27 minutes ago, ymilord said:

    There is no means of adding another ethernet card is this style of machine (Unless you mean USB which is unacceptable.). And it has the latest BIOS version as you stated from 2007.

    No. I would have did that and been done with this. 

     

    I still feel the issue is what it's detecting and not the drivers age. 

     

     

    Link to comment
    3 minutes ago, ymilord said:

    I still feel the issue is what it's detecting and not the drivers age. 

    Unraid relies on what is reported by the Linux kernel, it can't change that.

     

    Have you tried earlier Unraid versions with older Linux kernels?

     

    Link to comment

    Have a look at how this was solved in Linux 2.6.x kernel release. 

    https://www.howtoforge.com/creating-the-sis191-gigabit-ethernet-driver-on-linux-2.6

    This web article might give a person with experience building a kernel from source with added driver modules enabled a start in the right direction at least.

    A kernel module can be compiled to correctly identify the SIS191 nic and advertise it's capabilities to connected switches and routers.  I myself am trying to figure out how to apply this to a newer distribution (Debian 10) with the 4.19.x kernel source so I can use this built-in nic on my old HP MediaSmart EX470 server.  Keep in mind this is not a 3rd party driver as this is in the drivers/net section of the Liniux kernel source tree today. 

    Surely Unraid can be modified to allow a custom kernel image to be loaded by Grub and Initramfs?

    Edited by PaulMras
    Link to comment
    On 1/27/2020 at 11:16 PM, bonienl said:

    Unraid relies on what is reported by the Linux kernel, it can't change that.

     

    Have you tried earlier Unraid versions with older Linux kernels?

     

    i am trying to do the same. Have you figured it out yet?

    Link to comment


    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Restore formatting

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Status Definitions

     

    Open = Under consideration.

     

    Solved = The issue has been resolved.

     

    Solved version = The issue has been resolved in the indicated release version.

     

    Closed = Feedback or opinion better posted on our forum for discussion. Also for reports we cannot reproduce or need more information. In this case just add a comment and we will review it again.

     

    Retest = Please retest in latest release.


    Priority Definitions

     

    Minor = Something not working correctly.

     

    Urgent = Server crash, data loss, or other showstopper.

     

    Annoyance = Doesn't affect functionality but should be fixed.

     

    Other = Announcement or other non-issue.