Toshiba Satellite M55 Networking Display Audio Fedora Core 4
Bringing up Fedora Core 4 on a new Satellite M55 has not been easy for me, but since I'm committed to the task and completing the journey, I'm going to post my successes here.
I chose the M55 because it was a good deal at Costco, has a 100 GB Hard Drive, small size, and very nice display. If I knew that I'd have so much trouble getting Fedora on it, I'd have chosen something else, but it appears very little is easy in the laptop world at this point from HP, Dell, Sony or Toshiba so you pick your poisen and start learning.
The first issue was to make some room on the hard disk. This was done with Acronis Disk Director Suite.
I left Windows XP Pro with 30 GBytes and gave the rest to Fedora.
The display gets funky during the install process, but it does manage to complete. After the first boot, set the display for generic LCD and click on the caret to the left of the line for a list of choices. I selected 1024x768. Once the display configuration is no longer 800x600 the flickering goes away, and it looks great.
That leaves the network and the sound card. Obviously the network is the major issue since without that you cant get all of the updates, some of which might fix other things (like the network hardware and the sound card hadware) so it's a chicken and egg situation.
I started trying various configurations with no success, until I found an old Linksys USB network thing in my "I paid too much for this to trash it drawer", more commonly called a junk box. There was no driver for the USB Linksys Device under hardware devices in network configuration, but I found using the Intel Corporation PRO/Wireless 2200BG driver seemed to work. Suddenly I had a network address (using a terminal window, ifconfig<cr> will show you this).
Interestingly, the card was getting a network address from DHCP, but it was not picking up the DNS. I added that manually, since I knew what it was, by editing the DNS tab of the Network Configuration applet, and immediately had connectivity. This is a bootstrap connection though since it uses none of the hardware on the laptop.
The point of this so far is, if you are going to put Fedora on a laptop, have a few old network interfaces around. Chances are you can get one of them to work, and all it take is one to be able to get updates. Once you are even with the world in that regard, the work can begin.
It also makes getting data directly into the laptop simpler, although small USB memory sticks are wonderful for this too.
When I get the real laptop network hardware running I'll post the procedure here, ditto for the sound card. If anyone does it before me, please add it to this thread.
Installing the ipw2200 wireless network
The M55 uses the intel 2200BG network chipset. There is an open source project on sourceforge to generate drivers for this chipset, but the firmware, which must be used is proprietary, and the install is non-trivial.
I found some rpm's on sourceforge that allegedly installed the firmware for my kernel, 2.6.12-1.1398_FC4 but they did not work.
I finally happened on this website:
which has a pretty good description of the process of installing the required firmware and drivers, however there's something wrong with the process. I followed it exactly (twice) and found that the .ko files were not being placed where the OS thought they should be, and when I did a modprobe ipw2200 it complained of incorrect format errors.
The workaround for the problem was to:
run updatedb to update the locate database so I could find things
then search for each .ko file (ie ipw2200.ko, ieee80211.ko and ieee80211_crypt.ko) to see where they were. I then noticed in the error messsages that the kernel was complaining about the files and gave specific directory paths. I looked at the files in those paths and they were not the ones I had recently created, so I went to the directories where I had run the make install's, set the properties of each file to 755 (chmod 755 ipw2200.ko) and then copied the file to the place where the system indicated the bad format .ko file was.
After repeating this process for each file, the system complaints stopped, and modprobe ipw2200 returned no errors.
I then rebooted the system, and found to my happy surprise that the Intel Pro/Wi Wireless device was in the Network Configuration gui.
This is about where the happiness ends though. I could not get DHCP to work, but seemed to get a bit further with a manual IP address. During Boot there is an error that occurs regarding assignment of the bitrate that keeps the interface from being activated.
Error for wireless request "Set Bit Rate" (8B20)
SET failed on device dev13662; Invalid Argument.
The system is dual boot and the wireless configuration (ie access point etc) are all valid and working when I run XP. This leads me to believe the problem is in Linux. I can ping myself, but nothing else over the wireless interface. The gui reports the interface as active, and the hardware as OK.
Networking is UP!
The networking (wireless) is now up. Here's what it finally took:
I noticed in the ieee80211-1.0.3 folder, where I had made the modules according to the www.ces.clemson.edu site, that there was another .ko file named iee80211_crypt_wep.ko.
I did a search for this file using locate and found another copy in the same place as the other .ko files I had made, namely:
I replaced the older file and changed the mode of the newer one to 755.
Since this was where the kernel seemed to be finding the other .ko files, it was probably pulling the old wep file from here too, but it had never complained as it had with the other files.
This didn't fix the problem, (but it was still a smart thing to do I think) I was still getting an error message when I activated the interface. I decided to try working on the wireless settings. I found a bug in the driver. Basically, I needed to run in Managed mode with Auto SSID and a 128 bit encryption key. When you put the Mode to Managed, the Channel and the Transmit rate are greyed out, and you can't change them. The default (from my Fedora Install) in the Transmit rate was 0. Obviously a 0 was causing the problem.
So I changed the mode to AUTO, which then let me set the transmit rate. I set it to Auto, saved, deactivated, activated, and then came back to this settings box. Now, when I changed to Managed mode the Auto was greyed out, but the transmit rate error message stopped. In fact, I was now getting rapid activate wtih no messages. This was getting close.
Ultimately, opened a terminal window and typed iwconfig. This showed me that something was happening between the access point and the laptop. I noticed the WEP HEX string was not correct. I went back to the Key setting in the Wireless Device Confirugration gui and found that I had not put in the leading 0x for HEX as noted in the lable. (what would the key be if it wasn't hex?)
Anyway, I thought I had it, but it still did not work. I even tried rebooting. Ultimately I decided to shut off encryption. I did this at the access point and in Fedora and suddenly I had a connection.
That was good but not great. I started to experiment with the encryption settings, hoping to find some abnormality, but could find none. I then put the string back into the access point for encryption, and upon enabling encryption again in linux, it just started working.
I'm not sure why, or what got reset, but the settings in linux didn't seem to 'take' until I shut encryption off and then turned it back on. Of course, now it seems to just work, so like the 0/Auto thing, once you get it to a known state it just stays there and you can't recreate the error condition without a new install, which is beyond the scope of my committment to this project.....
Next task is Audio, and then the network interface (wire) on the laptop.
Audio is UP
Bringing up the Audio turned out to be simple.
You need to enable the external amplifier in the audio driver. This is done by selecting::
Applications/Sound and Video/Volume Control. Select Edit/Preferences and check the External Amplifier Box. I usually check everything when debugging so I can see if any driver selection effects the hardware, but in this case the Toshiba M55 responded quickly.
The audio is still not loud.
One hint, if you bring up the Desktop/System Settings/Sound Card Detection box at the same time you can hit the Play Test Sound button to make audio. When it responds with the "Did you hear anything" box, don't say yes or no, just close the window. The Window that generates the test sound will stay, and you can make adjustments to the audio levels, amplifier, and settings, and test them quickly.
Make sure the volume control control on the front face of the laptop is all the way up. (Rotated fully counterclockwise)
Just so you don't think you (or I) am crazy, I have a few bugs to report. I am not certain if the bugs are due to the driver for the Intel ipw2200 or the gui network setup client that comes with Fedora or both.
First, as mentioned above, the gui will apparently attempt to set the bit rate to an illegal value when all settings are new. Something is not being initialized, and the driver software doesn't check for a 0 bit rate and tries to slam it into the hardware which produces an exception.
Second, if you are connecting to a network that assigns an IP address with DHCP, the DNS address will not be transferred as part of the dialog. This appears to be a Fedora problem, but it could be the driver. All I know is that the hardware is fine and so is my access point because it all works under Windows XP.
The situation manfiests itself by the DCHPCLIENT process not terminating when you select obtain the DNS information from the provider checkbox. If you decide to provide the information manually, it will not take unless you reboot.
Since the process never terminates, subsequent changes to the profile in the gui produce errors, and the only way to actually make a change is to reboot (what's next the blue screen of death?). Actually, in fairness I'm certain a better linux expert could stop the process. I couldn't kill it, and I'm more interested in a clean 'work from boot' environment anyway, so I didn't try very hard.
What makes me suspicious of Fedora is that the user message when you modify the profile warns you that you might need to reboot. You should never have to do this during a configuration change (since Windows 98 anyway).
So to summerize, DHCP works fine for getting your IP address, but you must manually specify the address of your DNS Server as it will not be properly obtained from the DHCP dialog. When you specifiy this information, you must reboot.
Finally, I've been having a lot of trouble getting things set up for two different networks. I've had either one working in either place, but not both profiles installed so that I can switch between them. Part of the problem seems to be that the GUI, if you specifiy the DNS Server, does not save that information as part of the connection profile, so if you change locations and the DNS Server address is no longer valid, you need to change this manually.
This is definately a Fedora/Redhat Networking Bug. How Fedora can have gone through so many releases without fixing this is beyond me, unless they keep their developers chained to their desks so they never see the problem - or their hardware has mature drivers that can execute and support a good DHCP conversation.
|All times are GMT -5. The time now is 09:32 AM.|