NC91-230-LF Linux Installation Guide / Howto / Rant

My new Jetway Mini-ITX ATOM Motherboard as part of my Jetway JBC110C91-230-B Barebones wasn’t as easy as I had hoped to get working. I’m trying to build a PBX and router to replace my current Trixbox PBX and WRT54G running DD-WRT. The hardware seems very capable and speedy but I’m having serious issues getting Linux to run properly on the hardware. Most of the issues I’ve been dealing with seem to be hardware related. The chipset according to Jetway is the INTEL®945GC + ICH7 Chipset. Here are the chronicles of my journey.

UPDATE

After I gave up and installed two Intel NICs, someone else got everything working alright! Here is a walkthrough on the Trixbox Forums, I haven’t actually tried it yet. It looks pretty similar to what I did, perhaps they fixed the problems in the kernel that were causing my crashes.

I will break down the issues based on Operating System:

Gentoo: x86 and amd64 (x86_64)

  • Must start with option “nosound” or else startup hangs.
  • LiveCD detects IDE hard drive as /etc/hdc then when machine boots it detect as /dev/sda
  • Kernel Panics with unable to mount FS (filesystem) even when grub menus are edited to correct hard drive
  • IDE Controller driver issues? Did I screw up menuconfig?
  • Trys to load RTL8139 Driver module, which will not load (Solved; See Below):

I actually had a separate PCI RTL8139 NIC installed in the machine so I didn’t immediately realise the solution to this problem. What happens is the onboard NIC detects as needing the RTL8139 module, however it is incompatible with it. You must compile support for the card into the kernel to be able to use it correctly, it’s under hardware support / Ethernet

  • Unable to test onboard NIC once kernel support is compiled because of IDE issue.

CentOS (PBX in a Flash, Trixbox  and CentOS 5.2)

  • Will not boot hangs on LiveCD startup, caused by overzealous realtek drivers.
  • Above error message in Trixbox, PBX in a Flash and CentOS 5.2 LiveCD below.

The issue is with the rtl8169 module. It is not compatible with the onboard NIC but it doesn’t seem to know that. So it attempts to load anyway. This was also happening on Gentoo but I didn’t notice it because it is compiled as a module rather than part of the kernel. The solution is to Disable the PCIE NIC in the BIOS, do the installation with a PCI NIC or a USB Ethernet Adapter and then install the correct drivers.The CentOS Website has an article on the Acer AspireOne which has the same family of NIC as we do.

To get the Onboard NIC to work follow the follow steps under a CentOS based Distro:

Here is what you need to do to get the network adapter working. You can compile it from scratch but I’ve noticed no improvement over the binary.

  • Download a version of the kernel module from here
  • rpm -Uvh kmod-r8101-1.009.00-1.i686.rpm
  • modprobe r8101
  • nano /etc/modprobe.conf

Add the Lines:

  • alias r8169 off
  • alias eth0 r8101

If you see it; Remove the Line:

  • alias eth0 r8169

You may issue a problem whereas the machine will crash anytime you try to unload or disconnect the interface. You’ll get an error “BUG: soft lockup – CPU #0 stuck for 10s”. I know I do. I might just disable the onboard network adapter and use two PCI NICs. It’s apparently a known issue. I wasn’t able to determine if they solved based off of googling. It seems as if in order to get the PCI Bus to work properly they had to do a little hacking. The end result is that Linux views the PCI Bus in doubles causing it to get confused. That apparently compounds the r8101 problem, and there are some ACPI issues thrown in for good measure. It seems like they developed a patch but I’m not able to gleam any additional info from the bug tacker.

We ended up taking some of these lessons learned, and using them on a Greenwire Business IT Consulting company project