[conspire] (forw) Re: Linux Certified laptop

Rick Moen rick at linuxmafia.com
Sat Mar 26 10:01:22 PDT 2011

----- Forwarded message from Linda R <lindamarcella at yahoo.com> -----

Date: Fri, 25 Mar 2011 23:53:32 -0700 (PDT)
From: Linda R <lindamarcella at yahoo.com>
To: Rick Moen <rick at linuxmafia.com>
Subject: Re: Linux Certified laptop
X-Mailer: YahooMailClassic/12.0.2 YahooMailWebService/

Hi Rick,

Thank you for your reply and all of your helpful information.  I'm sorry for not providing more hardware identifying info.

The wireless card is like credit card size.  Is that PCMCIA?  Sorry I'm ignorant on this. It says Netgear WG511 54 Mbps Wireless.

I'm sorry for the late notice; I wasn't planning to come tomorrow, and I originally sent the email about a week ago.  Don't worry if you don't have time to respond for a while.

Another reason I'm interested to convert to Ubuntu is that other people at a company I work for (contractually) use it.  Also the Unix sys admin at my (regular) job uses it or has used it at home.

The kind of dual monitor I would like to try to configure would be to allow different content on each screen.

I walk a lot so I wouldn't mind.  I'll look into the Berkeley users group, to find out if they have install fests.

The output of lspci is below.

Thank you,


00:00.0 Host bridge: Intel Corporation 82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (rev 03)
00:01.0 PCI bridge: Intel Corporation 82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 82)
00:1f.0 ISA bridge: Intel Corporation 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801DB (ICH4) IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 02)
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 02)
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 02)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV250 [Mobility FireGL 9000] (rev 01)
02:03.0 CardBus bridge: O2 Micro, Inc. OZ601/6912/711E0 CardBus/SmartCardBus Controller
02:0a.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev 80)
02:0c.0 Ethernet controller: National Semiconductor Corporation DP83815 (MacPhyter) Ethernet Controller

--- On Fri, 3/25/11, Rick Moen <rick at linuxmafia.com> wrote:

[Snip Linda's inclusion of the entire preceding thread.  Sheesh, 
that reply mode is obnoxious.]

----- End forwarded message -----
----- Forwarded message from Rick Moen <rick at linuxmafia.com> -----

Date: Sat, 26 Mar 2011 09:55:24 -0700
From: Rick Moen <rick at linuxmafia.com>
To: Linda R <lindamarcella at yahoo.com>
Subject: Re: Linux Certified laptop
Organization: If you lived here, you'd be $HOME already.

Quoting Linda R (lindamarcella at yahoo.com):

> The wireless card is like credit card size.  Is that PCMCIA?

Yes, that's exactly right!  

By the way, there's a standard joke about that -- that it stands for
'People Can't Memorise Computer Industry Acronymns'.  Which is a large
part of why the official name was eventually changed from PCMCIA to PC-Card
(though you'll still hear both mentioned).

(No reason why you should need to know this, but the _real_ expansion
for 'PCMCIA' is 'Personal Computer Memory Card International

> Sorry I'm ignorant on this. It says Netgear WG511 54 Mbps Wireless.

Well, it turns out, that there are some very different sub-types of
WG511 (which uses wireless chips capable of the 802.11g class of
wireless protocols), depending on which generation of gear you have.

A rather elaborate explanation follows.  (Apologies for the complexity, 
but it's not my fault; it's Netgear's fault.)

1.  The earliest WG511 v1 series used the Intersil ISL3890 Prism Duette chips.
    Some sites say these cards say 'Made in Taiwan' on them.
2.  A later series (WG511 v2) used a Marvell Technology 88w8335 Libertas chip.
    Some sites say these cards say 'Made in China' on them.
2.  The later WG511 v3 and WG511T series switched to the Atheros 
    AR5212 and Super-G AR5212 chips, respectively.  It is said, 
    however, that some other WG511 v3 cards use a more-problematic, 
    low-end, and undesirable Intersil Prism54-softmac chip.

Details at:

Apologies for being obliged to reveal to you what amounts to a confusing
situation, but this is one of the rare cases where a single
manufacturer's model ('Netgear WG511') could be built on one of _three_
underlying chipsets.  Each of the three (four?) chipsets is a different driver 
situation.  You _might_ be able to determine from examining markings on
the card which situation applies -- whether it's an original WG511, a
WG511 v2, or a WG511 v3 / WG511T.  Or, insert the card into your Linux
machine and, as the root user, type this query:

  cardctl ident

To explain, the 'cardctl' (card control) utility is part of the
pcmcia-cs (PCMCIA Card Services) package, and 'cardctl ident' forces the
PCMCIA controller chip on your motherboard to directly ask all present
PCMCIA cards what its burned-in version string is, and what its
Manufacturer ID (manfid) is.

For example, driver 'prism54' works for cards based on the Intersil
ISL3890 chips.  The 'prism54-islsm' driver works for the Intersil
Prism54-softmac chips.  The Madwifi driver works for the Atheros 

The Marvell chips do not have native Linux drivers (last I heard) because
Marvell Technologies is hostile to open source and the chips haven't 
been reverse-engineered yet, but you can make them work under Linux 
using a kludge called 'ndiswrapper' (that cleverly uses binary-only
Marvell drivers intended for Windows 2000 _or_ an MS-Windows 
driver called "mrv8335").  That situation is detailed here:

Also, quoting part of

  Connecting to a Wireless LAN with Linux, Part 1 
  Using NdisWrapper and Verifying Kernel Support 

  Carla Schroder 
  Sunday, January 30, 2005 07:40:48 PM 
  Copy the Windows .inf driver to your Linux system, then run this command
  to load the driver in the NdisWrapper, using your real file name of
  # ndiswrapper -i /wirelessthings/windriver.inf 
  Verify the installation: 
  # ndiswrapper -l 

  Installed ndis drivers: 

  windriver.inf driver present

I'm afraid this is one of the games that some card manufacturers 
(in this case, Netgear) play on their customers, changing underlying
chips without bothering to signal having done so by changing the model
number.  The manufacturer assumes that you will just use the binary-only 
proprietary MS-Windows driver that they provide on a CD in the
plastic-wrapped package (or that the manufacturer furnished to Microsoft
to include in MS-Windows), with the binary-only driver made to match
whatever chip-du-jour is used so the user doesn't know the difference.

Why do some manufacturers do this?  I assume they switch chips because 
they go with whatever's cheap at the moment.  I assume they don't bother
to inform customers of the change (e.g., through a revised model number) 
because they (some manufacturers) are indifferent or hostile to open
source and just don't care.

One might joke that open source considers the following to be swear
words:  Marvell, Broadcom, ATI, NVidia (all chip manufacturers who are
notably hostile to open source).

A further matter:  It used to be that card manufacturers put the
low-level code to initialise the card into a small ROM chip furnished
with the card.  Later, they realised they could save money by omitting
that ROM chip and furnishing the same initialisation code as a 'firmware
image' file provided with the binary-only MS-Windows drivers.  The
manufacturers tend to furnish that firmware file to Microsoft under
non-disclosure, and embed it into the Windows drivers, but not bother to
give the open source community permission to redistribute that file.
So, Linux users often need tricks to extract the needed firmware file
from MS-Windows drivers and write it to your /lib/firmware directory
for the Linux kernel to use.  Reputedly, sometimes 'cardctl ident' 
doesn't even give you useful information until you've furnished the 
firmware file so the card can be initialised.

The 'tricks' that Linux users employ often involve utilities with names
like 'fwcutter' (i.e., firmware cutter) that 'cut' the firmware image
file right out of a Windows driver CD or drive download Zip or Exe file, 
and then write the extracted firmware file to /lib/firmware on Linux
for your future convenience.

Before I attempt further explanation, perhaps you should just 
attempt to determine which chip you have, as you'll notice that
I started simultaneously researching each of the possible chip
situations, and it's more efficient for you to collect relevant 
data, first.

Personally, if I determined that I had Linux-hostile hardware 
that was going to hassle me or put me through kludge solutions 
like ndiswrapper, I might prefer to shake the piggy bank and see
if I had budget to buy a replacement card with better Linux support.
(However, I'm not saying that situation necessarily applies to you.
That awaits your determining which chip Netgear stuck you with.)

> I'm sorry for the late notice; I wasn't planning to come tomorrow, and
> I originally sent the email about a week ago.  Don't worry if you
> don't have time to respond for a while.

By the way, I should mention that I'm going to post our conversation
onto CABAL's public mailing list, for public benefit.  Not a complaint
in any way, but the Linux community's process of documentation and 
help works best when it is in our collective discussion forums,
whether those be Web forums or mailing lists such as CABAL's 'conspire' 
e-mail mailing list, which (by the way) you can join if you wish to, 
here:    http://linuxmafia.com/mailman/listinfo/conspire

There is only one of me, so I participate in public in order to benefit 
the entire Linux community.  If I assisted people only in private mail, 
then, well, personal assistance is a start but it doesn't scale very

> Another reason I'm interested to convert to Ubuntu is that other
> people at a company I work for (contractually) use it.  Also the Unix
> sys admin at my (regular) job uses it or has used it at home.

Nothing wrong with Ubuntu.  At a fundamental level, though, all 
Linux distributions are pretty much alike under the hood.  The 
ornamentation and the names of some of the glitzy front-end utilities 
may differ, but ultimately those talk to always the same pcmcia-cs
utilities such as cardctl and to the same kernel utilities such as 
modprobe (which loads, say, the prism54 driver into the running kernel
to drive a Prism GT card).  

At CABAL, we help people with any Linux (or BSD) distribution, and 
basically cases like yours come down to, it doesn't make any difference
what the distribution is.  You just open a shell, become root, do 
'cardctl ident', figure out what the chipset is, make sure you have the 
distro package for the necessary driver (or, God help you, ndiswrapper
if necessary), and it then should Just Work (given presence of necessary 
drivers and a recent enough kernel).

Anyone who tells you 'You really should be running distribution [foo]' 
is pretty much trying to sell you something.  And, hey, isn't that 
exactly the error that got people stuck on MS-Windows?  ;->

> The kind of dual monitor I would like to try to configure would be to
> allow different content on each screen.

Right.  Traditional name for that in Linux (but see also below) is 

> The output of lspci is below.

OK, you have an ATI Radeon RV250 'Mobility FireGL 9000' video chip.
Basically known as 'Mobility 9000', but the specific sub-variant 
identifier is RV250, which is the specific chip whereas 'Mobility 9000'
is the chip family.  (Lots of Marketing-speak, there.)

ATI's more than a bit open-source hostile.  <sigh>  It turns out that the
least-hassle way to get xinerama (display of adjoining images on the two
output displays) might be, and often is, to install ATI's proprietary,
binary-only fglrx driver set for Linux, then follow its instructions.  
You should note that xinerama is distinct from 'twinview', in which the
same image is shown on both monitors.

So, the proprietary driver (which you can download off the Internet and 
run as root to install it) is called 'fglrx'.  The open-source
alternative driver, which you already have, is called 'radeon'.

Here's the manpage for the 'radeon' driver.  

I notice that they have an interesting 'merged framebuffer' (MergedFB)
optional mode of operation for the driver, that sort of replaces

  Option "MergedFB" "boolean"

  This enables merged framebuffer mode. In this mode you have a single
  shared framebuffer with two viewports looking into it. It is similar to
  Xinerama, but has some advantages. It is faster than Xinerama, the DRI
  works on both heads, and it supports clone modes.

  Merged framebuffer mode provides two linked viewports looking into a
  single large shared framebuffer. The size of the framebuffer is
  determined by the Virtual keyword defined on the Screen section of your
  xorg.conf file. It works just like regular virtual desktop except you
  have two viewports looking into it instead of one.

  For example, if you wanted a desktop composed of two 1024x768 viewports
  looking into a single desktop you would create a virtual desktop of
  2048x768 (left/right) or 1024x1536 (above/below), e.g.,

  Virtual 2048 768 or Virtual 1024 1536

  The virtual desktop can be larger than larger than the size of the
  viewports looking into it. In this case the linked viewports will scroll
  around in the virtual desktop. Viewports with different sizes are also
  supported (e.g., one that is 1024x768 and one that is 640x480). In this
  case the smaller viewport will scroll relative to the larger one such
  that none of the virtual desktop is inaccessible. If you do not define a
  virtual desktop the driver will create one based on the orientation of
  the heads and size of the largest defined mode in the display section
  that is supported on each head.

  The relation of the viewports in specified by the CRT2Position Option.
  The options are Clone , LeftOf , RightOf , Above , and Below. MergedFB
  is enabled by default if a monitor is detected on each output.

Here are pages that detail how to use the radeon driver's MergedFB mode, 
or either driver in xinerama mode, giving some working examples:


Again, we at CABAL would attempt to walk you through solving that 
configuration problem on any distribution.  Just because one of those
pages is on an Ubuntu Web forum that is no doubt populated by ernest
young Ubuntu users telling you that you should run it so _they_ can 
(in theory) help you doesn't mean we need to drink the Kool-Aid.  ;->

When I say "walk through", I don't mean that solving these setup
problems is necessarily easy.  We often just Web-search around to find 
promising tips, we trying them out, see what happens, and experiment
until it works or it's time for dinner.

A larger point to note is that many problems are best solved in person,
because we can check your gear directly to see what chipsets it has
without needing to have a back-and-forth while we tell you how, and
some problems are just easier with hands on for other reasons.

Anyway, I hope that helps, and that maybe some time you'll be free to
join us on a CABAL Saturday.

----- End forwarded message -----

More information about the conspire mailing list