[SOLVED] Cannot get network interfaces up in Slackware 14.1 (32b)
SlackwareThis Forum is for the discussion of Slackware 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.
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.
Cannot get network interfaces up in Slackware 14.1 (32b)
I'm trying to add an old Pentium 4 to my network, and installed slackware 14.1 on it. It has two network interfaces: an ethernet controller (Via Rhine-III, module via_rhine) and an ancient mini-pci wifi (Intersil ISL3890, module prism54). I added static ip for the ethernet card to /etc/rc.d/rc.inet1.conf in the eth0* variables, and expected to simply run wicd-client to set up the wireless. But at boot time i get a message about "Any ESSID" being selected for the eth0 interface, (cannot paste, output is not seen in dmesg output).
What dmesg does show is:
eth1: flags=4096<BROADCAST,MULTICAST> mtu 1500
ether 00:0c:76:76:a9:a0 (Ethernet)
(...)
Running ifconfig eth0 up:
Code:
SIOCSIFFLAGS: No such file or directory
Running ifconfig eth1 up works, but network is unreachable even if i assign a static ip address/subnet mask to eth1 in /etc/rc.d/rc.inet1.conf. What's also strange is that when ifconfig is run afterwards, no "inet" address is shown, only an "inet6" address.
Then, i ran wicd-client. A wired connection is shown, selected as default and running ifconfig without parameters shows only lo is up, though i can now ping the address i assigned to eth0 in rc.inet1.conf. Pinging another computer fails with "connect: Network is unreachable".
Hardware failure can be ruled out, because i backed up the files on the harddisk through the network (wire as well as wireless) while running the Windows XP that was on it. Internet also worked.
I would much prefer the ethernet cable interface to be at eth0, and the wireless at wlan0...
lspci does show that the number in front of the prism controlles is smaller than the number in front of the rhine controller.
I put the firmware in /lib/firmware and the error went away.
Running ifconfig right after boot now shows eth0, eth1 and lo are up.
However, eth0 shows no inet v4 address.
I can ping the static ip's of both eth0 and eth1. Pinging other computer on network returns "Destination Host Unreachable".
dmesg shows eth1 driver is Rhine III and is loaded correctly (before eth0 ?!).
There's also this boot message:
Code:
/etc/rc.d/rc.M: eth0 information: 'Any ESSID'
I conclude that eth0 must be wireless and eth1 must be wired.
I removed the static ip in rc.inet1.conf of eth0 interface and rebooted.
Dmesg now shows eth0 is Rhine III, no mention anymore of eth1.
Wicd-client sees wired interface, but reports the address is 127.0.0.1.
Disconnecting wired and reconnecting with static ip passed via wicd-client enables pinging other address.
BUT: pinging succeeds for every address in subnet, even if not assigned to computer. Cannot actually connect to other computer.
Wicd-client keeps on scanning for wireless networks forever.
eth0 related messages:
Code:
eth0: resetting device...
eth0: uploading firmware...
eth0: firmware version: 1.0.4.3
eth0: firmware upload complete
eth0: interface reset complete
NET: Registered protocol family 10
IPv6: ADDRCONF(NETDEV_UP): eth0: link not ready
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[EDIT] If both interfaces have static ip assigned in rc.inet1.conf, they both have an IPv4 address. If not eth0 only gets an inet6.
Either way firmware gets uploaded to eth0, and both the flags in ifconfig output now are:
When you have been configuring to use a static IP address, have you also been supplying a default gateway IP address (inside the quotes of GATEWAY="" in /etc/rc.d/rc.inet1.conf) as well as a DNS server IP address (e.g. 'nameserver 10.1.1.1' in /etc/resolv.conf)? In a home network, the gateway IP address and the nameserver IP address that is used is usually the local IP address of the modem/router used to connect to the internet.
When you have been configuring to use a static IP address, have you also been supplying a default gateway IP address (inside the quotes of GATEWAY="" in /etc/rc.d/rc.inet1.conf) as well as a DNS server IP address (e.g. 'nameserver 10.1.1.1' in /etc/resolv.conf)? In a home network, the gateway IP address and the nameserver IP address that is used is usually the local IP address of the modem/router used to connect to the internet.
I thought that a gateway was only necessary to connect the lan to the internet or another network, this is not relevant now. My setup is: i have two computers, each have an ethernet card and wifi. To connect to the internet i want to connect each separately by wifi. Since they then are connected to a router they can also connect to each other, but the problem is for this purpose the old one's wifi card is too slow, the earliest model of 802.11, and copying large amounts of data takes multiple hours. For this purpose i would like them both to be connected to each other by a cable, if i need to copy from one to the other this will be much faster (100Mbit/s). I didn't think gateway was necessary. For the one that is currently connected to the internet i didn't specify this either, i just connect to the wifi router and wicd takes care of everything. When the pentium 4 was still XP i just filled in a static ip on the linux one (10.0.0.x) and a subnet mask of (255.255.255.0), i did the same in the connection settings of XP and everything was ready to go, I could transfer files by ftp or samba. Wicd also takes care of dns/dhcp on the internet connection, i was just going to add the static ip's of the ethernet interfaces in the /etc/hosts file of both computers once i can get them to connect.
I got the cable connection working. One pc has it on eth0, i left eth0 settings blank for the other but filled in eth1 ip/netmask. Then ran ifconfig eth1 down (which i didn't run before) and /etc/rc.d/rc.inet1 eth1_start (thanks allend, i read the docs now) got the connection working: can ftp through the cable. But eth0 has no settings specified but still gets up, with only an inet6 address. Wicd-client keeps scanning for a wireless network forever and "Swich Off Wi-Fi" doesn't work. Furthermore, it displays the following in the status bar:
Code:
Connected to wired network (127.0.0.1)
which is not right. The eth1 interface does work perfectly though.
[EDIT]I've noticed "lo" was filled in in preferences for wired. *slaps forehead* This part is fixed.[/EDIT]
Also, this time in dmesg output there was a new line at the end:
Code:
eth0: timeout waiting for mgmt response 1000, triggering device
I've never had to download firmware to get a driver to work, could it be that the firmware's not working for me?
Firmware must be working ok.
I did chmod -x rc.wicd and tried networkmanager instead. Networkmanager can find wireless networks, but when i try to connect to mine, it asks for the vault password, which i enter, then it says "(ssid) needs authentication" and i enter the router's psk, then i have to enter the vault password again and then it says WLAN interface: Configuring interface. It then asks me to input the vault password again, then the psk, and so on and keeps on doing that a couple of times until it says "Not connected". I am sure the psk i give is correct because the computer i'm using to write this is connected to the router with that password.
I'm hoping this rings a bell for someone.
[EDIT] I gave up on networkmanager too and moved on to trying to edit rc.inet1.conf. I put the connection settings in WLAN_*[0], because eth0 is my wireless.
rc.inet1 eth0_start output:
Code:
/etc/rc.d/rc.inet1: eth0 information: 'Any ESSID'
Invalid command: set
Invalid command: set
Invalid command: set
Successfully initialized wpa_supplicant
Then it pauses for half a minute or so and the eth0 interface has neither inet nor inet6 addresses afterwards. Flags is 4099<UP,BROADCAST,MULTICAST>. I closely followed the man page of rc.inet1.conf, section "Wireless parameters".
If you can get a wired connection, then good! At this point I would suggest that you move from using static IP addressing to using DHCP. Most home modem/routers have the facility to act as DHCP servers with address space reservation that acts like static IP addressing. See whether you can get this working with your wired setup. Having DHCP available does simplify network administration.
It may be useful to try using wpa_supplicant directly with the -d option to debug the wireless connection, but you will need an appropriate /etc/wpa_supplicant.conf file. These are settings that I use for a WPA2 connection, with parameters you need to supply in angled brackets. I find I also need to specify the -Dwext option to wpa_supplicant for this to work.
Note that wpa_supplicant only creates the encrypted connection to your router. You need to run dhcpcd to get further networking parameters before a full internet connection can be made. (If dhcpcd is already running, you may need to use 'pkill dhcpcd' to stop it first).
Looking at the logs in your modem/router may also give a clue to why the wireless connection is failing.
I have tried your wpa_supplicant.conf, but the wireless settings in rc.inet1 seemed to take precedence, so i removed them and tried again. Dhcpcd always prints out:
Code:
eth0: waiting for carrier
timed out
allowing 8 seconds for IPv4LL timeout
timed out
exited
...whatever i put in the wpa_supplicant.conf file. I also tried removing the cipher selection and so on until i was down to the first example in the wpa_supplicant.conf man page, but nothing works.
I don't have access to the logs in the router, the router was put here by the ISP (connected to TV-cable) and to change anything i have to go to their website. I can only change the password and activate port forwarding and firewall, no logs. I did activate ethernet debugging but there's nothing new in /var/log/debug. In /var/log/messages i get output stating eth0 is not configured in rc.inet1.conf.
I tried wpa_gui, which says "Could not get status from wpa_supplicant", and scanning shows no results.
Hardware failure can be ruled out, because i backed up the files on the harddisk through the network (wire as well as wireless) while running the Windows XP that was on it. Internet also worked.
This same hardware was connecting with both wired and wireless connections when running Windows XP. Correct?
If so, do you have a record of the Windows XP network connection settings?
What is the output of the following commands run as root?
Code:
ip link
This shows available network interfaces. You may prefer 'iwconfig' to identify your wireless interface.
Code:
rfkill list
If the last command shows a hard block, then check for a physical switch that needs to be turned on. If a soft block is shown, then use 'rfkill unblock all'.
Code:
ip link set <your wireless interface> up
This should activate the wireless interface. You can confirm by running 'ip link' again.
Code:
iwlist scan | grep ESSID
This should show available access points. (Remove the pipe to grep for additional information such as ciphers)
Relevant lines in /etc/rc.d/rc.inet1.conf:
WLAN_MODE[0]=Managed
USE_DHCP[0]="yes"
WLAN_ESSID[0]=<ssid>
#WLAN_IWPRIV[0]="set AuthMode=WPAPSK | set EncrypType=TKIP | set WPAPSK=<key>"
#(tried with and without, with gives error)
"ip link":
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 1000
link/ether 00:0c:76:76:a9:a0 brd ff:ff:ff:ff:ff:ff
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000
link/ether 00:60:b3:92:54:d3 brd ff:ff:ff:ff:ff:ff
"iwlist scan" does indeed show my router in a list, before or after "ip link set eth0 up", yet wicd-client keeps scanning forever and networkmanager still can scan but not connect.
What's strange is that right after boot iwconfig shows eth0 has ESSID:"Draadloos", (meaning "wireless") but that's another network in my neighbourhood. I never specified to connect to that network. If i run "dhcpcd eth0" i can connect to that (wrong) wireless network which must be unsecured, apparantly it has something to do with authentication.
I thought it could have been the password i use. When the router was first installed it was a hex string but i changed it to something that uses the whole alphabet. I changed it back and tried again, but that wasn't it.
[EDIT] Also, i am absolutely certain the router uses TKIP. I verified in router settings on ISP's website. I also tried with someone else's D-Link DWA-131 usb dongle and after tinkering a bit that worked like a charm. If the card i have won't work i'm going to buy such a dongle.
Why can you not post the whole '/etc/rc.d/rc.inet1.conf'? It is obvious you do not realize that wlan0[0] is assigned to the first device as indicated by the [0] for the eth0 device.You can overrule that with 'IFNAME' but that is not conventional.
DESCRIPTION
rc.inet1.conf It consists basically of a series of variable array definitions. Array elements with the same index number will all belong to the same
network interface.
By default, index number `0' is used for the configuration of interface eth0, index number `1' is used for eth1 and so forth. The default interface
name can be overruled by the use of the variable IFNAME.
This is what a typical section of the file looks like for a card that is configured to use DHCP, showing all array variables with the index number
[0]:
# Config information for eth0:
IPADDR[0]=""
NETMASK[0]=""
USE_DHCP[0]="yes"
DHCP_HOSTNAME[0]=""
DHCP_TIMEOUT[0]=""
Alternatively, here is an example for a card that uses a static IP address and has a non-default name ( ath0 instead of eth1 ). The array index is
[1] in this case.
# Config information for ath0 (using static IP address):
IFNAME[1]="ath0"
IPADDR[1]="192.168.3.11"
NETMASK[1]="255.255.255.0"
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""
GATEWAY="192.168.3.1"
GENERAL PARAMETERS
This is a list of network parameters you can set for any card (wired as well as wired). The example section is for `eth0' by default, i.e. the
array variables all have the array index [0]:
# Config information for eth0:
IPADDR[0]="" # Set this value to an actual IP address if you want static IP address assignment
NETMASK[0]="" # With a static IP address, you are required to also set a netmask (255.255.255.0 is common)
USE_DHCP[0]="yes" # If set to "yes", we will run a DHCP client and have the IP address dynamically assigned
DHCP_HOSTNAME[0]="mybox" # Tell the DHCP server what hostname to register
DHCP_TIMEOUT[0]=15 # The default timeout for the DHCP client to wait for server response is 30 seconds, but you might want a shorter wait.
IFNAME[0]="eth0:1" # Set up an IP alias.
HWADDR[0]="00:01:23:45:67:89"
# Overrule the card's hardware MAC address
Look at /etc/udev/rules.d/70-persistent-net.rules
Code:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x8086:/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0 (iwlwifi)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="58:91:cf:5c:3b:04", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
# PCI device 0x10ec:/sys/devices/pci0000:00/0000:00:1c.5/0000:0a:00.0 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="84:8f:69:c4:6a:e2", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
If you do not want to use eth0 then blank out in /etc/rc.d/rc.inet1.conf;
I'm trying to add an old Pentium 4 to my network, and installed slackware 14.1 on it. It has two network interfaces: an ethernet controller (Via Rhine-III, module via_rhine) and an ancient mini-pci wifi (Intersil ISL3890, module prism54). I added static ip for the ethernet card to /etc/rc.d/rc.inet1.conf in the eth0* variables, and expected to simply run wicd-client to set up the wireless. But at boot time i get a message about "Any ESSID" being selected for the eth0 interface, (cannot paste, output is not seen in dmesg output).
What dmesg does show is:
...(snip)
Any help at all would be greatly appreciated.
===============
OK guys- eth0 and eth-any-number is HARDWIRE
wlan0 and wlan-any-number is WIRELESS!
I run Slackware and /etc/rc.d/rc.inet1.conf has TWO sections. 1-Hardwire, 2-Wireless
The two have more than cable/no-cable differences.
AND I have had problems in the past with prismXX.
Let's start with the Prism : did you check the modules for any that mention prism? (/etc/rc.d/rc.modules[version-stuff-smp for multiprocessors, the other for single)
If you find any, probably should un-comment it to force it to load. If you don't find any that reference it, get on the web (use a friend's machine if necessary) and see if you can find a Prism module that fits your hardware and make sure it loads and runs properly. If it needs "updates" then go find/install them too.
The NICKNAME stuff in the wireless section of /etc/rc.d..... can cause problems too.
If so, comment out the sections (there are 2 or 3 of them) that contain it.
DISCONNECT the hardwire when setting up the wireless.
Make sure the wlan0 settings agree with the eth0 settings. Mods to that can be done in increments later. Yes, you can hardwire to one router and wireless to another, BUT try walking before running.
All that done - you should be up and running.
One last thought. If problems persist - take the pentium and reformat it's hard drive and put an older Slackware on it. (try 10.2) The older OS should have what is needed to get the older hardware working. I doubt you will find the Prism module source code (at least I never did) so re-compiling it is probably not going to happen.
Older (thus slower) machines make good light duty servers and ftp sites. Not so good for number crunching. Not so good for heavy graphics.
Slackware 10.2 turned out to be very stable. I still have it loaded and operational. I still use it to slap Window$ back into shape now and again as needed.
OK guys- eth0 and eth-any-number is HARDWIRE
wlan0 and wlan-any-number is WIRELESS!
Well, not always - depends on the driver. I have seen wireless coming up as ethX.
Mind you - that was some time back (rough guess, around slackware-12) - cannot remember which driver it was, but yes, I _have_ experienced it!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.