Linux-Hardware Digest #15, Volume #9 Wed, 23 Dec 98 08:13:36 EST
Contents:
Re: Voodoo Banshee driver (Thomas Gattinger)
IBM PCI Token-Ring driver (JAD)
Re: Soundblaster Live! drivers for Linux (Thomas Gattinger)
Re: Linux driver for Mustek's ScanMagic 9636P (Thomas Gattinger)
Re: Why Linux cannot see my hard disk, but NT can? (Broox Best)
----------------------------------------------------------------------------
From: Thomas Gattinger <[EMAIL PROTECTED]>
Subject: Re: Voodoo Banshee driver
Date: Tue, 22 Dec 1998 19:30:59 +0100
<HTML>
This is about Framebuffers:
<BR><A
HREF="http://www.uno.edu/~adamico/banshee/">http://www.uno.edu/~adamico/banshee/</A>
<P>3Dfx Banshee Chipset
<BR>
under Linux
<P>Last updated on November 25, 1998.
<BR>
<P> Purpose
<BR> How's it done?
<BR> Setting it all up!
<BR> Files
<BR> Comments
<BR> FAQS <-- NEW Section
<BR>
<BR>
<P>Purpose
<P> I've always battled with Linux and X-Server displays.
Don't get me wrong, Linux is a great development OS, but when it just doesn't
work after spending days
<BR>on a project, I sometimes wonder if it's worth the hassle. The
sweet thing to such a big accomplishment is the fact that you've done it
and have learned from the
<BR>experience. I've spend days researching and gathering little
bits of information and now feel that everyone deserves an easy ONE stop
place to learn everything you
<BR>may need to know on how to setup the Banshee under Linux, or for that
matter any VESA 2.0 complient video card as a frame buffer device.
This quick howto trys
<BR>to make sense out of the many available documents on the web about
frame buffer devices. I do referrence the original documents whenever
possible.
<P> This solution is hopefully a temporary one until
a fully functional XFree86 X-Server can be implemented. Thanks to
Daryll Strauss and all his work and time he
<BR>has devoted to the Linux community. He has been able to implement
3Dfx Glide support for the Voodoo Graphics, Voodoo2, and Voodoo Rush chipsets.
He is
<BR>presently working on Banshee drivers. Good luck Daryll.
<BR>
<BR>
<P>How's it done?
<P> The current solution for the Banshee chipset under
Linux is through the use of a "Frame Buffer" device. The concept
of a frame buffer device, /dev/fb0 or fbcon,
<BR>has existed for quite some time on "commercial" unixes. It allows
the OS and application software to write directly to hardware addresses
thus eliminating the need
<BR>of low level drivers for specific video chipsets. Currently,
for x86 Linux flavors, the frame buffer device is only available in the
newer 2.1.x kernels. I'm not sure if
<BR>there is a module that is loadable for the 2.0.x kernels. You
may want to look into getting SciTech Display Doctor 1.0 for Linux.
This mini-HOWTO will cover
<BR>using the newer 2.1.x kernels and setting up this kernel for Vesafb
support. An "Official" mini-HOWTO on Vesafb can be downloaded
here. Much of the kernel
<BR>setup is pretty straight forward.
<P> In setting this up, it will allow you to have a multi-resolution
console that supports different screen resolutions and color depths.
For example, it is possible to
<BR>configure your console for 1024x768 @ 16.8M colors and have a 132x40
character display setup. Getting X to work is then a matter of getting
the XF68_FBDev
<BR>to compile and configuring your XF86Config file with the right parameters.
<BR>
<BR>
<P>Setting it all up!
<P> Disclaimer: This method of setup can be very
complex. Only advanced Linux users, or those in dire need of getting
their box back into action, should attempt
<BR>to do this. I don't want to get any email saying "I" screwed
up your Linux box. When in doubt, RTFM and spend some time at
Sun Site's Linux HOWTO's
<BR>archive. All of theses steps are made assuming you are the "root"
user.
<BR>
<P> 1.Getting the 2.1.x kernel source -- The first step is
to download the 2.1.x kernel source. Make sure you have a version
that is 2.1.111 or higher. My
<BR> configuration was done using the latest kernel
available, v2.1.126. You can download the kernel source from
ftp.kernel.org The filename should be
<BR> linux-2.1.xxx.tar.bz2 or linux-2.1.xxx.tar.gz
depending on file compression method you like best. The bz2 files
are bzip2 compressed and are usually smaller.
<BR> You need not concern yourself with the modules
files or any of the patches files that they usually have with kernel sources.
Just get the meat of the kernel, the
<BR> linux-2.1.xxx.tar.bz2 file.
<BR> 2.Setting up the kernel -- Uncompress your kernel source
in a temporary location such as /tmp. You may then want to copy the
kernel source tree to
<BR> /usr/src/linux, or make a symoblic link, ie
ln -s /tmp/linux /usr/src/linux Be careful not to overcopy any existing
kernel source that you may have lurking
<BR> here. I usually like to copy the new
kernel source tree to /usr/src/linux-2.1.xxx and then make a symbolic link
to that directory. This allows me the ability to
<BR> have multiple kernel sources on my machine
should I have to revert back to an older copy. Once you have the
source in place and you are in the source
<BR> directory, go ahead and configure the kernel
using: make config, make menuconfig, or make xconfig. If you choose
make xconfig, you must have a
<BR> working X-Server setup. Usually this
can be the generic XF86_VGA16 server which works with almost any card.
The key features that you must pay
<BR> attention to fall under the Console Drivers
menu. You want to enable the following features:
<BR> Under the Code
Maturity Level menu, enable the prompt for development and/or incomplete
drivers.
<BR> Under the Console
Drivers menu, say yes to
<BR>
VGA Text Console
<BR>
Video Selection Support
<BR>
Support for frame buffer devices
<BR>
VESA VGA Graphic console
<BR>
Advanced Low Level Drivers
<BR>
Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp, and 32bpp packed pixel drivers
<BR>
VGA character/attributes support
<BR> NOTE:
If you have problems compiling the kernel because of an error in the acct.c
file, be sure to disable the BSD process accounting option. I had
<BR> problems until
I turned this option off.
<BR> 3.Compiling and installing the kernel -- Once you
have your kernel configured, save and exit the configuation utility.
Begin to build the kernel with
<BR> make dep, make clean, and then make.
This make take a while, so go do something. It takes about 10 minutes
on my system (Pentium 200MMX
<BR> Overdrive, 128MB RAM). Once the kernel
is complied there are a few options you can choose as to how you wish to
install your new kernel. For starters
<BR> you may just want to test the new kernel to
see if it will boot up your machine properly before you really install
the new kernel. This can be done by placing a
<BR> blank floppy (it doesn't have to be formated
or anything) into your floppy drive, and from the kernel source directory,
typing make bzdisk. After a few
<BR> screens you will see the kernel image being
dumped onto the floppy. At this point, reboot your machine with the
floppy disk in. If everything went well, you
<BR> should be at a login prompt. Login and
test the kernel out. You won't be able to test the frame buffer support
yet, but at least you know the kernel is working
<BR> and everything is OK. Remove the floppy
and reboot your machine. You should have booted off of your previous
kernel. Go back into the kernel source
<BR> directory and type make modules, make modules_install
and depmod -a. This will install any modules that you may have wanted
during kernel
<BR> configuration. Don't worry, this shouldn't
affect your machine in any way. Once you have the modules installed,
you will need to make a bootable kernel
<BR> image for LILO. This can be done via
typing bzlilo in the kernel source directory. Once done, you will
need to modify your /etc/lilo.conf file and add the new
<BR> kernel into it. The key here is to add
an additonal entry into the lilo.conf file so that we can boot different
versions of the kernel. You will need to enter in an
<BR> entry AFTER the first lilo.conf entry in order
to make it NOT be the default bootup kernel. You can choose which
kernel you wish to boot at the "LILO
<BR> prompt" by hitting the TAB key and typing
in the label of the desired kernel. At this point I have a couple
of things to say about the lilo.conf entry:
<BR> Give your kernel
image a useful name. By default, the make bzlilo routine names the
kernel vmlinuz and places it in the / folder. Since we will be
<BR> setting up multiple
bootable kernels, a better name would be vmlinuz-2.1.126. But that
is just my opinion.
<BR> Add an entry
into your lilo.conf file for the newly named kernel, try something like
image=/boot/vmlinuz-2.1.126. The path to the kernel can be
<BR> anything, just
make sure that the file is there.
<BR> Add an entry
for setting up the Frame Buffer device, VGA=ASK. This will cause
your machine to prompt you for the desired VGA mode on bootup.
<BR> Try entering
0301 at the VGA prompt (this will give you 640x480 @ 256), and you should
be able to see a cute little Penguin logo. Please look at the
<BR> mini-HOWTO on
vesafb for more information and different resolution modes available.
<BR> If you have
any questions on how the lilo.conf file should look, you can look at my
lilo.conf file.
<BR> Once you have
your lilo.conf configured, be sure to run the lilo command to readjust
the LILO bootloader. The command is usually /sbin/lilo. You
<BR> will see lilo
add you new kernel and there will be an * next to the default bootable
kernel. This is the kernel that will boot if you do NOTHING a the
<BR> LILO prompt.
<BR> Once you find
a resolution that suits your liking, make the permanent change in your
lilo.conf file. Place your desired VGA mode in place of the "ASK"
<BR> in the lilo.conf
file. This number should be in decimal format. Once again please
refer to vesafb mini-HOWTO for valid modes. A quick example
for
<BR> an entry would
be VGA=792 for 1024x768 @ 16.8M colors.
<BR> 4.Configuring /dev/fb0 -- Once you have the frame buffer
kernel installed, if you plan to use X windows, you must create a new frame
buffer device under
<BR> /dev. The device is a character device
with major number 29 and minor number 0. This can be done by using
the mknod command. The acutal syntax
<BR> would be mknod /dev/fb0 c 29 0. This
will create a frame buffer that will allow the XF68_FBDev X-Server to write
to the video card frame buffer directly.
<BR> For backwards compatability with older programs
you will also need to make a symbolic link from /dev/fb0 to /dev/fb0current.
This can be done by typing
<BR> ln -s /dev/fb0 /dev/fb0current. If you
wish to setup a multi-head display, i.e. have two different monitors with
two different video cards, you can create
<BR> additonal frame buffer character devices under
/dev by issuing the same sequence of mknod and ln -s commands and all you
have to do is change the minor
<BR> character number for the specified frame buffer
device. Frame buffer /dev/fb0 would be mknod /dev/fb0 c 29 0, frame
buffer /dev/fb1 would be mknod
<BR> /dev/fb1 c 29 32, etc...
<BR> 5.Installing the XF68_FBDev X-Server -- There are two
methods of getting the XF68_FBDev X-Server. You can either download
the
<BR> X332servonly.tgz source code from ftp.xfree86.org
. You need to get the X332servonly.tgz files and configure it by
editing xc/config/cf/xf86site.def, and
<BR> uncomment the #define for XF68FBDevServer.
You will also need to apply this patch to the vanilla 3.3.2 server
source code. Then build the X-Server.
<BR> This may take a while as well. OR you
can download some precompiled binairies from my file section below.
These binaries are care of Gerd Knorr. They
<BR> come in both libc5 and libc6 versions.
Copy the binary XF68_FBDev server to your /usr/X11R6/bin directory.
Then make a symbolic link to the
<BR> XF68_FBDev server using ln -s /usr/X11R6/bin/XF68_FBDev
/usr/X11R6/bin/X. This will define which X-Server to use upon calling
X. If you use
<BR> RedHat, these symbolic links should reside
in your /etc/X11 directory. I'm not sure where they reside on other
Linux systems, but USUALLY they are
<BR> located in /usr/X11R6/bin.
<BR> 6.Configuring your XF86Config File -- This is the last
step to getting the XF68_FBDev server to work. And for the most part
it is pretty simple
<BR> because we need not concern ourselves with
resolution modes or clock freqencies. This is all taken care of by
the frame buffer device. A partial basic
<BR> XF86Config file should look like:
<BR>
<BR> Section "Files"
<BR>
RgbPath "/usr/X11R6/lib/X11/rgb"
<BR>
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
<BR>
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
<BR>
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
<BR>
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
<BR>
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
<BR> EndSection
<P> Section "ServerFlags"
<BR> EndSection
<P> Section "Keyboard"
<BR>
Protocol "Standard"
<BR>
XkbDisable
<BR> EndSection
<P> Section "Pointer"
<BR>
Protocol "PS/2"
<BR>
Device "/dev/mouse"
<BR> EndSection
<P> Section "Monitor"
<BR>
Identifier "Primary Monitor"
<BR> EndSection
<P> Section "Device"
<BR>
Identifier "Primary Card"
<BR> EndSection
<P> Section "Screen"
<BR>
Driver "FBDev"
<BR>
Device "Primary Card"
<BR>
Monitor "Primary Monitor"
<BR>
SubSection "Display"
<BR>
Modes "default"
<BR>
EndSubSection
<BR> EndSection
<BR>
<P> If you wish, you can grab my XF86Config
file. It is configured for a multiscan 15" monitor at 1024x768 resolution.
If anything, it will help you configure your
<BR> own XF86Config file.
<BR>
<BR>
<BR>
<P>Files
<BR>
<P> VesaFB
-- The official mini-HOWTO on frame buffer devices.
<BR> Linux
2.1.xx Kernel -- The necessary kernel files. Try to get the
highest version number available. Currently, v2.1.129 is available.
<BR> lilo.conf
-- A sample lilo.conf file when configuring your kernel for bootup using
LILO.
<BR> X332servonly.tgz
-- The X 3.3.2 Server source code if you wish to build your own XF68_FBDev
X-Server.
<BR> xfree.diff
-- The patch for X 3.3.2 Server source code if you wish to build your own
XF68_FBDev X-Server. You'll need this if you want to
<BR> build a server
tha can handle 24-bit color.
<P> SPECIAL NOTE: The provided X-Server binaries
below only work with a 16-bit or a 32-bit console, ie you cannot have 16.8M
colors and have X
<BR> work. 24-bit is not supported in these
binaries, but I am currently working to patch the XFree86 server sources
to get the 24-bit code to work
<BR> correctl.y.
<P> XF68_FBDev.libc5.bz2
-- A precompiled libc5 binary X-Server if you don't want to download the
source and build it yourself.
<BR>
XF68_FBDev.libc5.tar.gz
-- The precompiled libc5 binary X-Server in tarred gzipped format.
<BR> XF68_FBDev.libc6.bz2
-- A precompiled libc6 binary X-Server if you don't want to download the
source and build it yourself. NOTE: You
<BR> need only download
one of the three XF68_FBDev options above. Red Hat 5.x user will
want to download the libc6 binary. If you haven't
<BR> upgraded your
Linux distribution to libc6 then stick with the libc5 binary.
<BR>
XF68_FBDev.libc6.tar.gz
-- The precompiled libc6 binary X-Server in tarred gzipped format.
<BR> XF86Config
-- A sample XF86Config file. For the most part it is rather simple
to configure. Just compare this file to one that you may have on
<BR> your system.
<BR>
<P>Comments
<P> For the most part, this brief HOWTO was oriented
toward setting up a 3Dfx Voodoo Banshee video card under Linux. But
for general purposes sake, these
<BR>instructions will work for ALL VESA 2.0 compliant video cards, not
just the Banshee. So theoretically, one could configure non-supported
video chipsets using the
<BR>frame buffer device and have the video card work at all it's specified
resolutions. Theory also has it that the frame buffer can support
3D acclerated graphics via
<BR>OpenGL or Glide. Read more about this from General Graphics
Interface Homepage . Once again I wish you the best of luck.
Hey, if it worked for me, it can
<BR>work for almost anyone else :)
<P>
<BR>
<P>
Questions? Comments? Flames? Send mail to Anthony D'Amico .
<P>Bye
<P>FOX
<BR>
<BR>
<P>Dan Nguyen schrieb:
<BLOCKQUOTE TYPE=CITE>waco <[EMAIL PROTECTED]> wrote:
<BR>: Anyone have a driver for
<BR>: Monster Fusion 16mb (3dfx Banshee chipset)
<P>There are none. Try looking into frame buffers.
<P>--
<BR> Dan
Nguyen
| There is only one happiness in
<BR>
[EMAIL PROTECTED]
| life, to love and be loved.
<BR><A HREF="http://www.cse.msu.edu/~nguyend7">http://www.cse.msu.edu/~nguyend7</A>
|
-George Sand</BLOCKQUOTE>
</HTML>
------------------------------
From: JAD <[EMAIL PROTECTED]>
Subject: IBM PCI Token-Ring driver
Date: Wed, 23 Dec 1998 12:32:27 +0100
I have a PC with an IBM PCI Token Ring NIC - but alas
apparently Linux doesn't support this! Ethernet is not
an option and neither is buying another token-ring card,
as they are rather expensive (and IBM is a major stock
holder in the company I work for).
So if you know about a driver for this NIC (kernel 2.0.36)
please let me know, and I will mention you in my prayer
next time I cast the sacred kernel spells.
/jan
------------------------------
From: Thomas Gattinger <[EMAIL PROTECTED]>
Subject: Re: Soundblaster Live! drivers for Linux
Date: Tue, 22 Dec 1998 19:17:45 +0100
Hi There!
I need sblive-drivers too.
FOX
------------------------------
From: Thomas Gattinger <[EMAIL PROTECTED]>
Subject: Re: Linux driver for Mustek's ScanMagic 9636P
Date: Tue, 22 Dec 1998 19:26:48 +0100
Hi there!
A good idea to write mustek-drivers!
btw I have a mustek scanexpress 12000SP.
FOX
> I would like to write a driver (I hope it will be SANE compatible) for
>
> Mustek's ScanMagic 9636P. Unfortunately, the communication protocol
> between the computer and the scanner is not published :-(.
> Does anybody have any information about this protocol, or any
> experiences
> with hacking it (with parallel port sniffer or with WINE emulator)?
------------------------------
From: [EMAIL PROTECTED] (Broox Best)
Subject: Re: Why Linux cannot see my hard disk, but NT can?
Date: Tue, 22 Dec 1998 18:31:17 GMT
On Mon, 21 Dec 1998 13:52:06 -0600, jenaya anderson
<[EMAIL PROTECTED]> wrote:
>I am new to Linux. I am trying to install Red Hat on a 486DX2 PC. There
>is the what happened:
>
>1. The hard disk is 3.2 G, which can be autodetected by the BIOS.
>2. My CD-ROM and hard disk are connected to a card with two IDE
>channels.
>3. With this hardware configuaration, I can install NT on the machine.
>It means that hardware is all right. However, when I try to install Red
>Hat, Linux couldn't see my hard disk.
>There is what I did during the installation:
>After boot the machine up from a floppy, Linux asked me where to install
>the system from. I chose "Local CD-ROM'. Then, I can see that it's
>reading my CD-ROM. Then, it says "In the second installation stage".
>Then, it ask me if I have a SCSI or not, I choose no. Then, it ask me
>what disk utility I want to use. I choose "druid". Then, it gave me an
>error message that it cannot find the device to put the file system on.
>Obviously, Linux was trying to create new file system on the hard disk.
>But, for some reason, it cannot see the hard disk. There are two things
>that got me confused. The first one is that before I went into the
>second installation stage, Linux will do some basic hardware checking,
>right? There was no error message then. Both hda and hdc were
>recoganized. Why it cannot see the hda in the second stage? The second
>one is that why can NT see that hard disk, but Linux cannot?
>
>
i've had similar problems with older equip.
1. is the master hd jumpered as master?
2. is the cd jumpered as slave?
3. do you have an eide card that has 2 hd slots (for 4 hd devices)?
sometimes with the previous setup the cd has to be on the secondary
port and set to master and the hd must be on the primary port set to
master. i've read why but don't remember just now.
hope this helps out
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.hardware) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Hardware Digest
******************************