|
|||||||
| Tutorials & Guides Contributions welcome! Please check the rules & guidelines for posting |
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
||||
|
*** Downloadable BT3 module for the eee 901 with network and graphics drivers posted in msg #10 ***
Introduction Well, having been the very lucky recipient of an eee 901, and having wanted to use BT3 for network analysis for some time, I have finally been forced to learn something about Linux. The following documents my experiences trying to get as much as possible working with BT3. Please excuse (and point out) any errors / easier ways to do things – most of what is here has been mashed up from various sources including these forums, but the mistakes are all mine I was completely new to Linux before starting this, so I can pretty much guarantee that some of the below does not represent the best way to do this...A lot of this info is already out there, but not in one place, so hopefully this will be useful to someone. Additionally, I doubt I would have got anywhere without the support already built into BT3 for the 701. Note that this is specific to the 901, the many other versions of the eee have different hardware configurations, so some or none of the following may be applicable. This is not a tutorial you can follow blindly - you need to apply some thought and read the text - if you just paste in the sample commands I can't guarantee it will work. I also can't post images - eventually I would like to add this to the wiki but for now this is the best I can do. I also tend to be quite verbose - sorry, it's just the way I write when I can't use pictures! First, you need to decide how you are going to install BT3. For my purposes, I’m using an SD card in the eee SD card slot, then hitting escape on boot and selecting to boot from that card - this lets the rest of my family use the eee with Xandros without getting confused :-) You could equally do an install direct to any of the eee flash drive partitions, even wiping out the default Xandros install if you want more space. There are many excellent tutorials on this forum concerning installing BT3 on a hard drive or memory card / USB stick, so I’m not going to cover that. This post will cover setting up the system for persistent changes on the eee flash drive, and locating, building and configuring drivers for the various bits of hardware on the eee 901 which is not supported out of the box with BT3. Setting up Persistent Changes on the eee Once you have your BT3 installed and working on the SD card or other device, the first step is to install the BT3 kernel source module, since a number of drivers need to be compiled. You can get this file from the main page of the Wiki here (http://www.offensive-security.com/kernel.lzm,) and you should copy it to your BT3 bootable media in the /BT3/modules directory. A quick note on getting files onto your eee. When you first boot BT3 you will have no wired or wireless network access. You need to download necessary files such as wireless drivers either using Xandros (I recommend the partition with /home on it) or onto a USB stick or something, so you can get things started. ************************************************ We now need to decide where to store the persistent changes. You can store the changes anywhere writeable, but note that you will have to manually create the /changes folder in the root directory on that partition. I chose to store the changes in /changes/changes.dat on the larger unused partition on the eee 16Gb flash drive, which is /dev/hdd2 on my system. See the excellent tutorial here on how BT3 live installs work here for more information on how to configure the location to store persistent changes, for example as multiple folders, or as a single loop file. Differences between ext2 vs ext3, and the difference between a live install and a hard disk install, and why we might choose live are topics for another time. Either boot into Xandros, or preferably simply boot BT3 from your new bootable media on the eee, selecting e.g. BT3 Text Mode (KDE). It will complain a bit about VGA modes but just hit enter and you will end up with a useable text mode system. Log in as root / toor and do the following: *Note that the following might be slightly different depending on your system configuration. You will have to identify the correct device name on system and replace hdd2 in the command below. Quote:
Quote:
Quote:
Quote:
Last edited by hippocrates; 08-21-2008 at 03:05 AM. |
|
|||
|
Reboot your system, press Esc and choose your new boot device, and you should see your modified syslinux menu. Let’s test that we are actually are saving our changes by changing the password.
passwd mynewpassword Reboot again, and if your new password works you have persistent changes stored on your eee flash drive. Congratulations, now on to making the 901 actually work properly. Backing Up Now, it’s probably a good idea to make a script to backup the changes.dat file before making major changes, or after getting them to work. At this point I add things to my system which I always want there, such as a few directories in root for scripts and installs etc, modifications to my path, a script to initialize a Bluetooth mouse cos I don’t like trackpads and so on. Basically all the simple stuff that makes it your system – you don’t have to do any of this… whatever works for you. Once you are happy with your basic setup, use something like the following: Quote:
************************************************ Graphics support with VESA Reboot into your BT3 persistent environment, and login. Now, at this point if you run xconf and then startx you will be disappointed – xconf does not appear to be able to correctly detect the Intel 945GME chipset in the eee 901, and it definitely does not like the 1024 x 600 resolution . So to start, we will be setting up some basic functionality such as VESA standard graphics. If you have started X and find that you have no mouse or something else is not working, just hit ctrl-alt-backspace to get back to your command line.Copy the following into your /etc/X11/xorg.conf file, replacing whatever is there already. Last edited by hippocrates; 08-20-2008 at 04:13 AM. |
|
|||
|
Quote:
Now type Quote:
|
|
||||||
|
Wireless / Wired Network Access
Now, since a computer with no network access is about as useful as a wheelbarrow without a wheel, the first thing to do is get your network drivers installed. Wireless first: The 901 uses a quite new Ralink b/g/n card which is rather unhelpfully identified by lspci as “Ralink Unknown Device 0781.” It is in fact a Ralink RT2860 chipset, and the necessary drivers may be found here: Grab these and get them on your eee with a usb stick or via Xandros, and boot up to BT3. Copy the drivers to your /root folder for now. Quote:
Run the following: Quote:
Quote:
Quote:
Example WPA configuration script Quote:
Congratulations – you should now have wireless access. These drivers don’t support injection, but I imagine it’s only a matter of time… Once you get used to the finicky iwpriv setup, this is actually a great wireless card. ************************************************** ***************** Now for wired network access. You want a the following drivers: http://dlsvr04.asus.com/pub/ASUS/mb/...nuxDrivers.zip Using ark, extract the contents of L1e_Lan/l1e-l2e-linux-v1.0.0.4.rar to /root/ L1e_Lan/l1e-l2e-linux-v1.0.0.4 Quote:
This might be a good time to backup – the graphics drivers are a little more tricky. Last edited by hippocrates; 08-20-2008 at 04:14 AM. |
|
|||
|
IEGD Graphics Drivers - Introduction
Before I start into this, I’d like to mention that I looked for easier solutions for quite some time. I’d have been quite happy with just VESA drivers if they would support 1024 x 600. I’d also have been quite happy with the Intel drivers that come with BT3, if I could have got them to work. After lots of research, including asking for help in various forums, I concluded that I don’t know enough about X, xorg.conf, linux drivers, or anything relevant to figuring out if there is actually an easy way to do this. Hence, the solution below, building and installing the IEGD drivers from scratch, which might be described as the hard way. If someone posts “you just needed to add this line to your xorg.conf” the cracking noise will be the sound of my head repeatedly hitting my desk… On the plus side, the IEGD drivers are quite nice, you can do neat stuff like create giant virtual desktops, and I learned a great deal about irritatingly opaque things like modelines. There is clearly something up with the IEGD drivers – in the period I was doing this, the files available on Intel’s site changed several times. For a while, version 9 was available, and now it’s gone. Then version 8 suddenly changed to version 8.0.2 hotfix, which is what this is based on. I didn’t use version 9, because by the time I had figured out what I needed the files were not there any more. As far as I can tell – I still have the v9 users guide – nothing in the install changes for v9. Ok – take a deep breath. Did I mention you should probably back up your changes so far at this point? Creating the Linux Installation Package Download the developers driver package from the Intel web site. The file name is IEGD_8_0_2_Gold_1147.exe, and you can find it by searching for IEGD. It’s quite large (82Mb) and, of course, only runs on Windows. I guess you could try Wine if you don’t have Windows handy somewhere, but it’s a massive install of some totally unnecessary BEA JRockit environment… After installing, if you run iegd-ced.exe, which will get you the following UI. *** I can't post the image yet, so you will have to use your imagination for now ***Essentially the process is to create a Configuration, with DTDs (Detailed Timing Descriptions) if necessary (they are in this case), then a Package for your OS (Linux), and finally an installation package which is actually what you need on your eee. Rather than type all the details of each field entry, I’ll post the contents of the configuration files you need. Note that supplying the wrong timing information for an LCD can apparently be bad for it. The numbers below come from the Asus Xandros config, and I have been using them for a couple of weeks now, but I cannot be responsible for anything going wrong with your eee that results from following these instructions. Proceed at your own risk, and keep a finger on Ctrl-Alt-Backspace just in case! First, shut down iegd-ced, and and locate the workspace subdirectory in your wherever you installed it\IEGD folder. This corresponds to the folders in the image above. Note that in the instructions below you need to keep the file names as specified, unless you feel like editing the XML… IEGD Configuration First create a text file (create it with notepad or something) in the \IEGD\workspace\configuration directory named 945GME_1200x600.cnfg containing the following (note that this is in 2 parts due to post length limits - you will need some kind of electronic tape...) : Last edited by hippocrates; 08-20-2008 at 04:27 AM. |
|
|||
|
This is part one of the configuration file.
Quote:
Last edited by hippocrates; 08-19-2008 at 05:44 PM. |
|
|||
|
This is part two of the configuration file.
Quote:
Last edited by hippocrates; 08-19-2008 at 05:31 PM. |
|
|||
|
IEGD DTD's for the 901 Display
You then need two text files in the \IEGD\workspace\DTD directory named eee901display.dtd and eee901LowRes.dtd – these names must be the same, as they are referenced in the above XML. eee901display.dtd Quote:
Quote:
IEGD Package Now for the package. In the \IEGD\workspace\package directory, create a text file named 802945GME_DualDisplay_1200x600.pkg, containing the following: Quote:
Last edited by hippocrates; 08-20-2008 at 04:18 AM. |
|
|||||||||
|
Finalizing the Installation Package
Now, if you run iegd-ced again, you should have something that looks like the following: *** Use your imagination again! *** Double click on any of the items to view the configuration to examine them. Note that I basically told it to totally ignore anything that it gets from the display in the way of EDID information etc, and manually specified the two available resolutions. This is because when I tried to get it to use the EDID information, it would complain about invalid timings, and that would override the manually specified timings for that resolution. There may be a way round it, so if you find one please let me know, but I couldn’t get it to work. If it all ties together and makes sense, click Generate Installation and the program should do a bunch of stuff. If anyone feels like hosing 23Mb, let me know and I’ll upload the file ![]() When it completes, look in your \IEGD\workspace\installation folder, and you should have some subdirectories and two files named 802945GME_DualDisplay_1200x600.x and IEGD_8_0_2_Linux.tgz. These are your xorg.conf details and the driver source code and patches you need for your eee. Copy them onto a memory stick or something and move them to your eee – I put them in the /root folder. I would recommend at least skimming though the UsersGuide.pdf – it contains a lot of good info, and you will definitely need to if you plan on modifying the configuration. ************************************************** ************** Installing the IEGD Drivers on the eee 901 Now for the actual install on your 901. You backed up your changes.dat, right? Extract the files Open up a shell and: Quote:
You should have two folders: IEGD_Patches, and IEGD_8_0_2_Linux. Now go to where your BT3 source files are located. All credit to nickas on the eeeuser forum for inspiration on this next bit… Apply the patches and build Quote:
Copy over the pre-compiled drivers Now copy the X drivers over to your machine. Quote:
Quote:
Copy the manual Quote:
Quote:
Test Error messages here are probably a bad sign… Quote:
The output of the above should show the following modules loaded: Quote:
We should also copy over the Intel graphics driver utilities. Quote:
Finally, you need to update your xorg.conf to use the new driver. Remember when we originally used the CED to create the driver package? The other file created was 802945GME_DualDisplay_1200x600.x, which is a skeleton xorg.conf section containing most of the bits needed for graphics hardware (but not all of them – grr.) If you have customized your xorg.conf already, you can use this file to update it as necessary. Otherwise, here is my xorg.conf. I have not tried this with dual displays yet, but in theory Xinerama should work in full dual head mode on this hardware. There is quite a lot of stuff in here I don’t fully understand – tips on improving this very much appreciated. For example, I’m sure the OpenGL configuration is somehow screwed up so hardware acceleration is not working, although the necessary driver support should be there. It’s not a priority for me, since this is not exactly a gaming machine and OpenGL does work in software mode, but it would be nice to have. The error in Xorg.log is : cannot open shared object file iegd_dri.so, and I can’t find any reference to this file anywhere, even on Google. xorg.conf is located in /etc/X11. We already modified this to use VESA graphics when we first started this process. Now modify it to look like the following: Last edited by hippocrates; 08-21-2008 at 04:06 PM. |
|
|||
|
Quote:
Hit CTRL-ALT-BKSPACE to shut down x, then type startx Look at that! It’s a completely new graphics driver, in 1200 x 600, and we didn’t even have to reboot. I’m never using windows again ;-) Now if I could just figure out how to globally make all the fonts a little bigger without editing 27 configuration files… You can run the utility iegdgui now, and confirm all your settings are correct. The iegd_crg utility produces a massive log file with all kinds of info about your graphics system. Backup your changes! ************************************************** ****** Next on the list – CPU scaling and power management, the video camera, some ACPI stuff and more. I'll also make a module for BT3 so you don't actually have to do any of the above, if I can find somewhere to host it. Last edited by hippocrates; 08-20-2008 at 04:24 AM. |
![]() |
| Bookmarks |
| Tags |
| 901, 945gme, driver, eee |
| Thread Tools | |
| Display Modes | |
|
|