OpenWrt Forum Archive

Topic: Is Intel Core i7 or Atom compatible with x86 OpenWrt?

The content of this topic has been archived on 21 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I've tried (and so far failed) installing OpenWrt on those two systems (via SATA SDD drive):

Core i7 3770S
http://smile.amazon.com/gp/product/B008 … &psc=1

Atom D2500CCE
http://smile.amazon.com/gp/product/B009 … &psc=1


I've used combined generic ext4 images from both the latest Chaos Calmer OpenWrt 15.05 RC1

https://downloads.openwrt.org/chaos_cal … xt4.img.gz

and the the Barrier Breaker 14.07
https://downloads.openwrt.org/barrier_b … xt4.img.gz

Both images booted normally at first displaying linux boot progress messages along with a message that states "Please press Enter to activate this console"
few lines after this message the boot progress stops at a line that says:
[    7.888954] NET: Registered protocol family 24

I keep pressing Enter trying to get to the console, but nothing happens.

I really appreciate if anyone could give me any hints on what I might be doing wrong. Am I choosing the wrong images? Do I need to compile a custom image for those systems? etc..

Many thanks in advance

(Last edited by h7 on 22 May 2015, 20:42)

I think (but I could be wrong), x86 image should work fine

There is an x86_64 image in trunk (https://downloads.openwrt.org/snapshots … 4/generic/) that you can try

When I tried x86 image on a physical x86 computer a few days ago, I had an internal hard drive that confused the booting process (because GRUB was configured that everything was on the first drive)... but you seems to have got passed that...?

Is it possible that the system started perfectly and that you are just missing usb drivers for the keyboard?

zo0ok wrote:

I think (but I could be wrong), x86 image should work fine

There is an x86_64 image in trunk (https://downloads.openwrt.org/snapshots … 4/generic/) that you can try

When I tried x86 image on a physical x86 computer a few days ago, I had an internal hard drive that confused the booting process (because GRUB was configured that everything was on the first drive)... but you seems to have got passed that...?

Is it possible that the system started perfectly and that you are just missing usb drivers for the keyboard?

many thanks for the quick reply.

Yes, the hard drive boot seems fine. I'm getting the OpenWrt and OpenWrt (Fail Safe) menu options, and the keyboard works well on that menu allowing me to navigate to either option.

However, I also suspected the OS somehow stopped recognizing the keyboard after booting.

So after where the boot progress stopped. I unpluged and re-plugged the keyboard, and got the message "usb 4-1: new full-speed USB device number 2 using uhci_hcd".

This lead me to believe the following (I could be wrong though):

a) The keyboard is getting detected after booting.
b) The system isn't frozen (as it's reacting to the keyboard being unplugged & replugged by displaying messages).

Perhaps I should try a PS/2 keyboard? what do you think?

I would try to connect to it on 192.168.1.1 (ssh) if I were you.
It is probably running a DHCP server with is both convenient and dangerous for your purposes.

If you have a PS/2-keyboard it does not hurt to try.

As I remember it, what you describes sounds completely normal, except the part that when you hit RETURN on the keyboard you should get the MOTD message and a #prompt.

Well... there could be some BIOS settings (it is probably called EFI or something nowadays) for "legacy keyboard"... you can probably play around with those kind of settings if you want.

And, it probably does not hurt to try the x86_64 image from trunk either.

(Last edited by zo0ok on 22 May 2015, 21:32)

zo0ok wrote:

I would try to connect to it on 192.168.1.1 (ssh) if I were you.
It is probably running a DHCP server with is both convenient and dangerous for your purposes.

If you have a PS/2-keyboard it does not hurt to try.

As I remember it, what you describes sounds completely normal, except the part that when you hit RETURN on the keyboard you should get the MOTD message and a #prompt.

Well... there could be some BIOS settings (it is probably called EFI or something nowadays) for "legacy keyboard"... you can probably play around with those kind of settings if you want.

And, it probably does not hurt to try the x86_64 image from trunk either.

thanks man,
Yes, I've tried so far:
1- The bios legacy USB switch (stops the keyboard from working on the GRUB menu)
2- The image you linked from the trunk (same result).
3- I've tried to see if it's running DHCP (it wasn't), and tried reaching it via 192.168.1.1 by setting my network adapter to static 192.168.1.2 (also nothing on any port 80 / 22 / 443 / ping / etc..)

I think however you're right about the keyboard. As the NumLock LED light stops toggling when I press the NumLock key after the booting process passes the GRUB menu.

I couldn't find my usb-to-PS/2 dongle (sigh.. I see plenty laying around when I'm not looking for them). I'll hopefully get one tomorrow and try it out.

Many thanks again man for your help.

Indeed, the release binary does not contain a USB keyboard driver.  Boot up then connect to the LAN port at 192.168.1.1 and use telnet or LuCI to configure Internet access.  Then you can install kmod-usb-hid.

Also you will need to recompile the kernel to make use of a multicore CPU. The release binary is not SMP-enabled.

(Last edited by mk24 on 23 May 2015, 02:58)

mk24 wrote:

Indeed, the release binary does not contain a USB keyboard driver.  Boot up then connect to the LAN port at 192.168.1.1 and use telnet or LuCI to configure Internet access.  Then you can install kmod-usb-hid.

Also you will need to recompile the kernel to make use of a multicore CPU. The release binary is not SMP-enabled.

Thanks man, that was really helpful. I didn't know the binaries don't support SMP.

LuCI web server, SSH and telnet also don't seem to be running at the point where my boot process stops.

I think the next best thing is getting that PS/2 keyboard dongle to see if I could get passed that point in the boot process.

mk24 wrote:

Indeed, the release binary does not contain a USB keyboard driver.

This probably IS correct information. As a side not, for the Raspberry Pi brcm2708 a USB keyboard works out of the box.

h7 wrote:

LuCI web server, SSH and telnet also don't seem to be running at the point where my boot process stops.

Does it even reply to ping?

zo0ok wrote:
mk24 wrote:

Indeed, the release binary does not contain a USB keyboard driver.

This probably IS correct information. As a side not, for the Raspberry Pi brcm2708 a USB keyboard works out of the box.

h7 wrote:

LuCI web server, SSH and telnet also don't seem to be running at the point where my boot process stops.

Does it even reply to ping?

No it doesn't reply to ping either. Should the network adapters be up and running in those binaries without the need of console access to activate them?

(Last edited by h7 on 23 May 2015, 08:01)

h7 wrote:

No it doesn't reply to ping either. Should the network adapters be up and running in those binaries without the need of console access to activate them?

I think so (that is my experience). After all, OpenWrt is designed to run on hardware that does not even come with a USB port wink
(although, it may be as simple as the NIC is not supported)

zo0ok wrote:
h7 wrote:

No it doesn't reply to ping either. Should the network adapters be up and running in those binaries without the need of console access to activate them?

I think so (that is my experience). After all, OpenWrt is designed to run on hardware that does not even come with a USB port wink
(although, it may be as simple as the NIC is not supported)

Perhaps the NICs aren't supported. Those two PC models I have along with their NICs (Jetway and Intel)  are very well supported in many flavors of Linux / BSD. That's why I never suspected OpenWrt not to support them.

But maybe you're right, and I would eventually discover it was simply the NICs not being supported by OpenWrt.

I think I should read some instructions on how to compile a custom OpenWrt if indeed compatibility is the issue here and also to enable SMP on multi-core x386 hardware (which I'm puzzled as to why SMP is not already supported in the binaries as there hardly any x86 hardware available in the market for the past 10 years that isn't multi-core).

If I managed to figure out how to successfully compile a custom OpenWrt for those hardware, I'll hopefully post a step by step how-to for others to help them compile custom SMP enabled hardware for their x86 systems.

It is actually not that hard:
  http://wiki.openwrt.org/doc/howto/buildroot.exigence

Under "Install Procedure On Linux", just follow 1-5 and you are done wink

It seems very hard, but it is rather easy. You should have a Linux machine though. Mac OS X works too, but a few more things to get right.

zo0ok wrote:

It is actually not that hard:
  http://wiki.openwrt.org/doc/howto/buildroot.exigence

Under "Install Procedure On Linux", just follow 1-5 and you are done wink

It seems very hard, but it is rather easy. You should have a Linux machine though. Mac OS X works too, but a few more things to get right.

thanks man!
And yes, I do run Linux (Kubuntu) on my home PC. I hope adding SMP support and NIC drivers while compiling won't be a challenge smile

Will hopefully give it a go in few hours (dressing up to go get that PS/2 dongle from market) smile

Lets hope you make it work somehow. Your problem is a little strange to me. I have very little experience with running OpenWrt on physical x86/x64 hardware though. My only attempt was x86 on an eee701 which worked fine, and x86_64 on a virtual machine.

zo0ok wrote:

Lets hope you make it work somehow. Your problem is a little strange to me. I have very little experience with running OpenWrt on physical x86/x64 hardware though. My only attempt was x86 on an eee701 which worked fine, and x86_64 on a virtual machine.

Your original conclusion was right man. The issue turned out to be both the keyboard and the NIC drivers.

After using a usb-to-ps/2 adapter, the keyboard now is responding and letting me get into the console.

ifconfig is returning only the loopback (127.0.0.1) adapter.

I'm gonna go read some instructions on how to proceed from here smile

I might also try some Linux compatible USB-to-ethernet adapters I have laying around to see if I can get some network connectivity going so I could download & install the missing NIC drivers from the OpenWrt box itself.

(Last edited by h7 on 23 May 2015, 12:39)

Ok, I'm updating this thread for others that might also face the same issues I did.

I managed to get the Atom system up and running with OpenWrt. I didn't try installing OpenWrt on my Core i7 (didn't want to under-utilize the Core i7 since the default binaries don't support SMP, will hopefully compile a custom build for that later on and post instructions here).

The binary I used is the chaos calmer 15.05 RC1 64bit
https://downloads.openwrt.org/chaos_cal … xt4.img.gz

Instruction (hopefully for beginners) on how to do so from a Linux system:

1- download and extract the chaos calmer image:
#wget https://downloads.openwrt.org/chaos_cal … xt4.img.gz
#gunzip openwrt-15.05-rc1-x86-64-combined-ext4.img.gz

2- Connect your SSD drive to your linux system (best way to do so is via SSD-to-USB adapter available at amazon.com).

3- Find your drive name:
    #fdisk -l (e.g. /dev/sdb1 <= this is just an example, be super careful in figuring out the name of your connected SSD drive)

4- Copy the image to your ssd:
    #dd if=./openwrt-15.05-rc1-x86-64-combined-ext4.img of=/dev/sdb1 (again, /dev/sdb1 is an example, be super careful on what drive name that corresponds to your SSD).

6- Connect the SSD to your Atom system via SATA.

6- Now connect a usb thumb drive to your linux then partition and format the thumb drive as ext4 (google how to do so in linux)

7- Download and copy the following packages to your newly formatted thumb drive:
   https://downloads.openwrt.org/chaos_cal … x86_64.ipk
   https://downloads.openwrt.org/chaos_cal … x86_64.ipk
   https://downloads.openwrt.org/chaos_cal … x86_64.ipk

8- Connect your usb thumb drive to your Atom.

9- Make sure you have either a PS/2 keyboard or a usb keyboard connected via usb-to-ps/2 adapter to your atom. (Note: Not all USB keyboards work with a usb-to-ps2 adapters, try several ones until you find the one that works with a usb-to-ps/2 adapter).

10- Connect the atom to a monitor and boot it up.

11- Once you notice the boot process progress stopped, press Enter, you should then gain access to the console.

12- Set a password for root
    #passwd

13- Mount your thumb drive:
    #mkdir media;mkdir media/usb
    #mount /dev/sdb1 media/usb (note: /dev/sdb1 is an example, lookup the usb drive name from /dev folder, google if you're not sure how to mount a usb drive)
14- Create a temp folder and copy the package files off of your thumb drive to your SSD.

    #mkdir temp_inst
    #cp /media/usb/k* /temp_inst

15- install the packages
    #opkg install /temp_inst/kmod-pps_3.18.11-1_x86_64.ipk
    #opkg install /temp_inst/kmod-ptp_3.18.11-1_x86_64.ipk
    #opkg install /temp_inst/kmod-e1000e_3.18.11-1_x86_64.ipk

16- You're done. You should now be able to login to your router web interface from your PC. Set your PC network adapter IP address to manual 192.168.1.2 and direct your browser to http:/192.168.1.1. The password for web interface should be the same one you setup at step 12.

Hope the above help others with Atom x86 hardware.

(Last edited by h7 on 23 May 2015, 22:46)

It seems this could be simpler.  What I would try is put everything on one drive with the desktop:

dd the release binary image onto the drive.
Unplug / replug and then mount the drive on the desktop.
As super user, make a directory and put the package binaries into it.  You need everything on the openwrt drive to be owned by root.
Make an /etc/rc.local script with the install commands.  They will run after it boots.  Would be a good idea to put sleep 60 as the first thing so it boots fully before trying to install.
Unmount drive from desktop and connect to mini system
Boot the system twice.  The packages should be installed and running.

Also you may be able to get a terminal on one ot the serial ports.  This will require another computer with a serial port  or USB adapter (an RS-232 one not TTL) and a cross-over RS-232 cable.

(Last edited by mk24 on 23 May 2015, 18:56)

mk24 wrote:

It seems this could be simpler.  What I would try is put everything on one drive with the desktop:

dd the release binary image onto the drive.
Unplug / replug and then mount the drive on the desktop.
As super user, make a directory and put the package binaries into it.  You need everything on the openwrt drive to be owned by root.
Make an /etc/rc.local script with the install commands.  They will run after it boots.  Would be a good idea to put sleep 60 as the first thing so it boots fully before trying to install.
Unmount drive from desktop and connect to mini system
Boot the system twice.  The packages should be installed and running.

Also you may be able to get a terminal on one ot the serial ports.  This will require another computer with a serial port  or USB adapter (an RS-232 one not TTL) and a cross-over RS-232 cable.

Thanks. Love everything about what you wrote. No need for the RS-232 adapter (nor a ps/2 keyboard) as the network drivers are going to be already installed via the rc.local calls and people could simply ssh to their x86 and remove the commands from rc.local (to prevent calling them on every boot).

Then people could simply direct their browsers to 191.168.1.1 to access the LuCI web interface and configure their x86 router from there.

thanks for the this.. really helpful tips.

(Last edited by h7 on 23 May 2015, 19:28)

Just another quick update. The latest Chaos Calmer OpenWrt 15.05 RC1 64bit turned out to be SMP enabled.

I noticed that while checking the CPU info on my Atom system.

This encouraged me to install it on my Core i7 using mk24 technique (without a keyboard as my Core i7 board has no PS/2 ports).

The installation was successful. However I noticed there seems to be incompatibility issue with the Intel e1000e_3.18.11-1_x86_64 driver and the Network adapter on my Core i7 board as speedtest.net bandwidth test fluctuated a lot (dropped from 100Mbps to 18Mbps and back to 100Mbps).

Perhaps it's some configuration in the bios, or perhaps I should try a trunk build. In any case, I just wanted to report that the Chaos Calmer RC1 is SMP enabled.

The discussion might have continued from here.