Skip to contentSkip to conversation

Intel PRO/Wireless 2100 vs. Broadcom BCM9430x

DISCUSSION Marc Sowen 8 participants 15 messages Jun 12, 2003 – Jun 13, 2003

lore
Share & tools
lore

Marc Sowen

author
#0 lore raw

Hi everybody,

I hope this is not too off-topic, but the fact is that neither the Intel PRO/Wireless 2100 (Centrino) chipset nor the Broadcom BCM9430x (e.g. Dell Truemobile 1180/1300/1400) chipset is currently supported in Linux due to FCC regulation problems.

Anyhow, I plan to get a new Notebook within the next 2 or 3 weeks and I need to decide, whether to go for the Intel PRO/Wireless 2100 or the Broadcom BCM9430x chipset. I know it's hard to say, but what do you think, which company (Intel or Broadcom) is more likely to release the necessary documents and/or drivers for their chipsets? Both companys seem to ignore all inquiries concerning Linux support at the moment.

While we're at it, are there any news from the WLAN front?

Thank you!

Marc

#1 lore raw

most laptop vendors that provide multiple wireless options also support the cisco aironet minipci card, you can allways vote with your wallet if you think linux support for wireless chipsets is valuable.

joelja

Quoted 26 lines · Marc Sowen

Hi everybody,

I hope this is not too off-topic, but the fact is that neither the Intel PRO/Wireless 2100 (Centrino) chipset nor the Broadcom BCM9430x (e.g. Dell Truemobile 1180/1300/1400) chipset is currently supported in Linux due to FCC regulation problems.

Anyhow, I plan to get a new Notebook within the next 2 or 3 weeks and I need to decide, whether to go for the Intel PRO/Wireless 2100 or the Broadcom BCM9430x chipset. I know it's hard to say, but what do you think, which company (Intel or Broadcom) is more likely to release the necessary documents and/or drivers for their chipsets? Both companys seem to ignore all inquiries concerning Linux support at the moment.

While we're at it, are there any news from the WLAN front?

Thank you!

Marc

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Signature · 7 lines
-------------------------------------------------------------------------- 
Joel Jaeggli	      Academic User Services   [email protected]    
--    PGP Key Fingerprint: 1DE9 8FCA 51FB 4195 B42A 9C32 A30D 121E      --
  In Dr. Johnson's famous dictionary patriotism is defined as the last
  resort of the scoundrel.  With all due respect to an enlightened but
  inferior lexicographer I beg to submit that it is the first.
	   	            -- Ambrose Bierce, "The Devil's Dictionary"
#2 lore raw

Cisco Aironet mini-PCI wireless card (MPI-350) [Was: Re: Intel PRO/Wireless 2100 vs. Broadcom BCM9430x]

Hi,

Cisco's linux support is great until you have IBM's ThinkPad R40. With this notebook, their newest Linux driver (version 2.0, older ones do not support my card) module (mpi350.o) can't be inserted to kernel (oops and module remains 'initializing' forever). Module is compiled successfully against both 2.4.20 and 2.4.21-rc7 kernels.

I'm just fighting their bureaucracy (in support) and trying to reach someone who actually wrote the driver (module says Roland Wilcher). I want to help him with testing and provide him with all possible information.

My other chance is to get working new driver from
http://airo-linux.sf.net, but there is no activity in last several weeks.

Jan Mynarik

Quoted 34 lines · Joel Jaeggli

most laptop vendors that provide multiple wireless options also support the cisco aironet minipci card, you can allways vote with your wallet if you think linux support for wireless chipsets is valuable.

joelja

Quoted 26 lines · Marc Sowen

Hi everybody,

I hope this is not too off-topic, but the fact is that neither the Intel PRO/Wireless 2100 (Centrino) chipset nor the Broadcom BCM9430x (e.g. Dell Truemobile 1180/1300/1400) chipset is currently supported in Linux due to FCC regulation problems.

Anyhow, I plan to get a new Notebook within the next 2 or 3 weeks and I need to decide, whether to go for the Intel PRO/Wireless 2100 or the Broadcom BCM9430x chipset. I know it's hard to say, but what do you think, which company (Intel or Broadcom) is more likely to release the necessary documents and/or drivers for their chipsets? Both companys seem to ignore all inquiries concerning Linux support at the moment.

While we're at it, are there any news from the WLAN front?

Thank you!

Marc

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Signature · 1 line
Jan Mynarik <[email protected]>
#3 lore raw

Re: Cisco Aironet mini-PCI wireless card (MPI-350) [Was: Re: Intel PRO/Wireless 2100 vs. Broadcom BCM9430x]

Quoted 10 lines · Jan Mynarik

Cisco's linux support is great until you have IBM's ThinkPad R40. With this notebook, their newest Linux driver (version 2.0, older ones do not support my card) module (mpi350.o) can't be inserted to kernel (oops and module remains 'initializing' forever). Module is compiled successfully against both 2.4.20 and 2.4.21-rc7 kernels.

I'm just fighting their bureaucracy (in support) and trying to reach someone who actually wrote the driver (module says Roland Wilcher). I want to help him with testing and provide him with all possible information.

Downgrade your firmware. On the Cisco site, there's a Linux driver paired with a particular firmware version. Use it: there's a bug in the kernel driver in which it reads stuff out of the card's RIDs into a local structure, but using the card's RID size. The newer firmware has increased the structure sizes for some RIDs, which overruns the stack and crashes.

I have attached a patch for the driver to fix the crash, but I'm not confident the card works well without the correct firmware.

J

mpi350.c renamed from mpi350.c.orig +18 -12
@@ -135,7 +135,7 @@
 struct net_device *init_venus_card(struct pci_dev *);
 void   venus_remove(void);
 static int  venus_probe(struct pci_dev *);
-static int vreadrid(struct venus_info *,unsigned short,unsigned char *);
+static int vreadrid(struct venus_info *,unsigned short,unsigned char *,unsigned int);
 static int vwriterid(struct venus_info *,unsigned short,unsigned char *);
 static void venus_interrupt( int irq, void* dev_id, struct pt_regs    *regs);
 static int venus_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -442,7 +442,7 @@
     printk(KERN_INFO "MIC interrupt\n");
 #endif
     venusout(v_info,V_EVACK,EV_MIC);
-    vreadrid((struct venus_info *)dev->priv,RID_MIC,(char *)&mic);
+    vreadrid((struct venus_info *)dev->priv,RID_MIC,(char *)&mic,sizeof(mic));
     micinit(v_info,&mic);
     enable_interrupts(v_info);
     spin_unlock(&v_info->mpi_lock);
@@ -845,7 +845,7 @@
 	memset( data->wbuffer, 0, 33*3 );
 	data->on_close = proc_ssid_on_close;
 	
-	vreadrid(vi,RID_SSLIST,(unsigned char *)SSID_rid);
+	vreadrid(vi,RID_SSLIST,(unsigned char *)SSID_rid,sizeof(blargbuf));
 
 	ptr = data->rbuffer;
 
@@ -881,8 +881,8 @@
 	data = (struct proc_data *)file->private_data;
 	data->rbuffer = kmalloc( 2048, GFP_KERNEL );
 	
-	vreadrid(vi,RID_STATUS,(unsigned char *)&status_rid);
-	vreadrid(vi,RID_CAPABILITIES,(unsigned char *)&cap_rid);
+	vreadrid(vi,RID_STATUS,(unsigned char *)&status_rid,sizeof(status_rid));
+	vreadrid(vi,RID_CAPABILITIES,(unsigned char *)&cap_rid,sizeof(cap_rid));
 
 	sprintf( data->rbuffer, "Mode: %x\n"
 		 "Signal Strength: %d\n"
@@ -935,7 +935,7 @@
  * Return 0 on sucess or other on failure . Uses the len value of all rids 
  * in the first 2 bytes .
  */
-static int vreadrid(struct venus_info *v_info,unsigned short rid,unsigned char *ridp){
+static int vreadrid(struct venus_info *v_info,unsigned short rid,unsigned char *ridp,unsigned ridsz){
   Cmd            cmd;
   Resp           rsp;
   int            status;
@@ -962,8 +962,14 @@
     return rsp.rsp0;  /* return error qualifier */
 
   if(!status){
+    unsigned len = ridsz;
     ridlen = VADDR(unsigned short,v_info->ConfigDesc);
-    memcpy((char *)ridp,(char *)v_info->ConfigDesc.VirtualHostAddress,*ridlen);
+    if (*ridlen <= len)
+      len = *ridlen;
+    else
+      printk(KERN_INFO "vreadrid: rid=%04x ridlen=%d ridsz=%d\n",
+	     rid, *ridlen, ridsz);
+    memcpy((char *)ridp,(char *)v_info->ConfigDesc.VirtualHostAddress,len);
   }
   return status;
 }
@@ -1509,8 +1515,8 @@
   pci_set_master (v_info->pcip); /* Gets called twice no harm */
 
   cfg = (ConfigRid *)iobuf;
-  vreadrid((struct venus_info *)dev->priv,RID_CAPABILITIES,(char *)&xcaps);
-  vreadrid((struct venus_info *)dev->priv,RID_CONFIG,iobuf);
+  vreadrid((struct venus_info *)dev->priv,RID_CAPABILITIES,(char *)&xcaps,sizeof(xcaps));
+  vreadrid((struct venus_info *)dev->priv,RID_CONFIG,iobuf,sizeof(iobuf));
 
   /*
    * Find out if an extended capability rid was returned
@@ -1536,7 +1542,7 @@
   for(i=0;i!=6;i++){
     dev->dev_addr[i] = cfg->macAddr[i];
   }
-  printk( KERN_INFO "MPI350 start: MAC  %x:%x:%x:%x:%x:%x\n",
+  printk( KERN_INFO "MPI350 start: MAC  %02x:%02x:%02x:%02x:%02x:%02x\n",
 	  dev->dev_addr[0],dev->dev_addr[1],dev->dev_addr[2],
 	  dev->dev_addr[3],dev->dev_addr[4],dev->dev_addr[5]); 
 
@@ -1735,7 +1741,7 @@
       break;
     }
 
-  vreadrid((struct venus_info *)dev->priv,ridcode,iobuf);
+  vreadrid((struct venus_info *)dev->priv,ridcode,iobuf,sizeof(iobuf));
   
   if (copy_to_user(comp->data, iobuf, MIN (comp->len, sizeof(iobuf))))
     return -EFAULT;
@@ -1799,7 +1805,7 @@
     case AIROPSTCLR:
       ridcode = RID_STATSDELTACLEAR;
       memset((char *)&v_info->micstats,0,sizeof(v_info->micstats)); /*Clear micstats */
-      vreadrid((struct venus_info *)dev->priv,ridcode,iobuf);
+      vreadrid((struct venus_info *)dev->priv,ridcode,iobuf,sizeof(iobuf));
       
       if (copy_to_user(comp->data,blargo,MIN(comp->len,sizeof(blargo))))
 	return -EFAULT;
#4 lore raw

Re: Cisco Aironet mini-PCI wireless card (MPI-350) [Was: Re: Intel PRO/Wireless 2100 vs. Broadcom BCM9430x]

Many thanks,

the patch worked well in the meaning of possible module insertion. But I wasn't able to configure the card with ACU well.

With older firmware it's possible to insert module and to configure it with ACU, but I'm not able to configure the card well. The whole password menu produces segmentation fault :-))

Is there any other way how to configure this card? Unfortunately it doesn't support wireless extensions.

Jan Mynarik

Quoted 23 lines · Jeremy Fitzhardinge
Quoted 10 lines · Jan Mynarik

Cisco's linux support is great until you have IBM's ThinkPad R40. With this notebook, their newest Linux driver (version 2.0, older ones do not support my card) module (mpi350.o) can't be inserted to kernel (oops and module remains 'initializing' forever). Module is compiled successfully against both 2.4.20 and 2.4.21-rc7 kernels.

I'm just fighting their bureaucracy (in support) and trying to reach someone who actually wrote the driver (module says Roland Wilcher). I want to help him with testing and provide him with all possible information.

Downgrade your firmware. On the Cisco site, there's a Linux driver paired with a particular firmware version. Use it: there's a bug in the kernel driver in which it reads stuff out of the card's RIDs into a local structure, but using the card's RID size. The newer firmware has increased the structure sizes for some RIDs, which overruns the stack and crashes.

I have attached a patch for the driver to fix the crash, but I'm not confident the card works well without the correct firmware.

J

Signature · 1 line
Jan Mynarik <[email protected]>
#5 lore raw

Re: Cisco Aironet mini-PCI wireless card (MPI-350) [Was: Re: Intel PRO/Wireless 2100 vs. Broadcom BCM9430x]

Quoted 9 lines · Jan Mynarik

the patch worked well in the meaning of possible module insertion. But I wasn't able to configure the card with ACU well.

With older firmware it's possible to insert module and to configure it with ACU, but I'm not able to configure the card well. The whole password menu produces segmentation fault :-))

Is there any other way how to configure this card? Unfortunately it doesn't support wireless extensions.

I used ACU/bcard, but it was fairly fiddly. I kept finding that changing a setting would make the card go into a strange state which was unrecoverable, even by unloading/reloading the module. Only rebooting would fix it. Eventually I managed to get everything configured, and I just get modprobe to run bcard after loading the module to configure the card. This seems to work reliably so long as I avoid doing any other settings with acu (

I've been doing some work to extend airo.c to support the 350, based on Ben Reed's start. Unfortunately the card gets into state just keeps misbehaving and reports errors, but without any documentation its hard to work out what's going wrong. I'm hoping Cisco will see fit to release some documentation (or at least a new driver) - particularly since it seems the number of mpi350 Linux users is increasing, driven into Cisco's arm by Intel and Broadcom's complete documentation void.

J

#6 lore raw
In reply to Joel Jaeggli
Quoted 3 lines · Joel Jaeggli

most laptop vendors that provide multiple wireless options also support the cisco aironet minipci card, you can allways vote with your wallet if you think linux support for wireless chipsets is valuable.

And that is if your laptop will allow such a card to be plugged in and used of course. Thinkpads with the tcpa chip in them might not allow such a card, and consequently you can not vote with your wallet unless you do not buy that laptop at all.

/A

#7 lore raw
Quoted 3 lines · Anders Karlsson

And that is if your laptop will allow such a card to be plugged in and used of course. Thinkpads with the tcpa chip in them might not allow such a card,

Nothing to do with TCPA: my laptop doesn't have one, and it objects to "foreign" wireless cards. Plain old BIOS is enough.

Fortunately IBM support the Cisco Airo 350 mini-pci card, and supply a (GPLed) driver. It isn't the greatest driver (no 2.5 port, seems flakey when doing anything with the admin tool, no wireless extension support), but it works enough to make wireless useful.

J

#8 lore raw
Quoted 7 lines · Jeremy Fitzhardinge
Quoted 3 lines · Anders Karlsson

And that is if your laptop will allow such a card to be plugged in and used of course. Thinkpads with the tcpa chip in them might not allow such a card,

Nothing to do with TCPA: my laptop doesn't have one, and it objects to "foreign" wireless cards. Plain old BIOS is enough.

I based my statement on a discussion from about a week ago on the list and that seemed to indicate that the IBM Thinkpads had a 'white-list' of sorts to allow only some specific mini-PCI cards. IIRC it was the T40, R40 and X31 that was affected.

Apologies if my statement was incorrect.

/A

#9 lore raw
Quoted 6 lines · Anders Karlsson

I based my statement on a discussion from about a week ago on the list and that seemed to indicate that the IBM Thinkpads had a 'white-list' of sorts to allow only some specific mini-PCI cards. IIRC it was the T40, R40 and X31 that was affected.

Apologies if my statement was incorrect.

No, you're right, its just that it isn't TCPA which does the checking; it's the plain old BIOS. In other words, IBM are being painful and irritating, but at least they're not being sinister, painful and irritating.

J

#10 lore raw
In reply to Anders Karlsson

You can buy the cisco card from ibm and have installed when the thing ships if you so desire.

joelja

Quoted 13 lines · Anders Karlsson
Quoted 3 lines · Joel Jaeggli

most laptop vendors that provide multiple wireless options also support the cisco aironet minipci card, you can allways vote with your wallet if you think linux support for wireless chipsets is valuable.

And that is if your laptop will allow such a card to be plugged in and used of course. Thinkpads with the tcpa chip in them might not allow such a card, and consequently you can not vote with your wallet unless you do not buy that laptop at all.

/A

Signature · 7 lines
-------------------------------------------------------------------------- 
Joel Jaeggli	      Academic User Services   [email protected]    
--    PGP Key Fingerprint: 1DE9 8FCA 51FB 4195 B42A 9C32 A30D 121E      --
  In Dr. Johnson's famous dictionary patriotism is defined as the last
  resort of the scoundrel.  With all due respect to an enlightened but
  inferior lexicographer I beg to submit that it is the first.
	   	            -- Ambrose Bierce, "The Devil's Dictionary"
#11 lore raw
In reply to Marc Sowen
Quoted 7 lines · Marc Sowen

Hi everybody,

I hope this is not too off-topic, but the fact is that neither the Intel PRO/Wireless 2100 (Centrino) chipset nor the Broadcom BCM9430x (e.g. Dell Truemobile 1180/1300/1400) chipset is currently supported in Linux due to FCC regulation problems.

Quoted 6 lines

Anyhow, I plan to get a new Notebook within the next 2 or 3 weeks and I need to decide, whether to go for the Intel PRO/Wireless 2100 or the Broadcom BCM9430x chipset. I know it's hard to say, but what do you think, which company (Intel or Broadcom) is more likely to release the necessary documents and/or drivers for their chipsets? Both companys seem to ignore all inquiries concerning Linux support at the moment.

I used to win the "Dumb context 2003" by buying a laptop w/out checking the hw compatibility list. It was first sight love :) Now after a series of custom patches (SiS chipset, pcmcia irq selection, local apic,...) everything is working fine but the Broadcom integrated WLAN. I suggest you to go with a machine w/out the integrated WLAN and then buy a supported pcmcia card (orinoco prismII works great on my machine). To understand who between Intel and Broadcom will first release specs, take a look at their web sites for documentation/specs. The answer will become pretty easy.

- Davide

#12 lore raw
Quoted 15 lines · Davide Libenzi
Quoted 7 lines · Marc Sowen

Hi everybody,

I hope this is not too off-topic, but the fact is that neither the Intel PRO/Wireless 2100 (Centrino) chipset nor the Broadcom BCM9430x (e.g. Dell Truemobile 1180/1300/1400) chipset is currently supported in Linux due to FCC regulation problems.

Quoted 6 lines

Anyhow, I plan to get a new Notebook within the next 2 or 3 weeks and I need to decide, whether to go for the Intel PRO/Wireless 2100 or the Broadcom BCM9430x chipset. I know it's hard to say, but what do you think, which company (Intel or Broadcom) is more likely to release the necessary documents and/or drivers for their chipsets? Both companys seem to ignore all inquiries concerning Linux support at the moment.

Quoted 8 lines

I used to win the "Dumb context 2003" by buying a laptop w/out checking the hw compatibility list. It was first sight love :) Now after a series of custom patches (SiS chipset, pcmcia irq selection, local apic,...) everything is working fine but the Broadcom integrated WLAN. I suggest you to go with a machine w/out the integrated WLAN and then buy a supported pcmcia card (orinoco prismII works great on my machine). To understand who between Intel and Broadcom will first release specs, take a look at their web sites for documentation/specs. The answer will become pretty easy.

Find out which one is in that linksys possible-gpl-violation and use that one. (I think its broadcom.)

FWIW I got my laptop with the broadcom (dell truemobile) intentionally, as it is useful under XP and might eventually work under Linux. (Then I bought the older truemobile, the 1150 I think, for $80 or so. Swapped right in, leaving the pcmcia slot for my ipaq's hdd, etc. Even the Fn-wireless button correctly turns the radio on/off, although Linux has no way to detect it except loss of signal.)

Signature · 1 line
Disconnect <[email protected]>
#13 lore raw
In reply to Marc Sowen
Quoted 7 lines · Marc Sowen

Hi everybody,

I hope this is not too off-topic, but the fact is that neither the Intel PRO/Wireless 2100 (Centrino) chipset nor the Broadcom BCM9430x (e.g. Dell Truemobile 1180/1300/1400) chipset is currently supported in Linux due to FCC regulation problems.

Quoted 6 lines

Anyhow, I plan to get a new Notebook within the next 2 or 3 weeks and I need to decide, whether to go for the Intel PRO/Wireless 2100 or the Broadcom BCM9430x chipset. I know it's hard to say, but what do you think, which company (Intel or Broadcom) is more likely to release the necessary documents and/or drivers for their chipsets? Both companys seem to ignore all inquiries concerning Linux support at the moment.

I think the chances are even. Buy were you get best value for money. I bought the TM1400 and swapped it for now with a TM1150 sparepart (it's not quite expensive).

Also a Orinico based PC-card is available for down to 50 EUR out there. That would work until a driver is available.

Regards,
Martin List-Petersen
martin at list-petersen dot dk
--
A programmer is a person who passes as an exacting expert on the basis of being able to turn out, after innumerable punching, an infinite series of incomprehensible answers calculated with micrometric precisions from vague assumptions based on debatable figures taken from inconclusive documents and carried out on instruments of problematical accuracy by persons of dubious reliability and questionable mentality for the avowed purpose of annoying and confounding a hopelessly defenseless department that was unfortunate enough to ask for the information in the first place.
-- IEEE Grid newsmagazine

#14 lore raw
In reply to Marc Sowen
Quoted 1 line · Marc Sowen

Hi everybody,

Hullo,

Quoted 4 lines

I hope this is not too off-topic, but the fact is that neither the Intel PRO/Wireless 2100 (Centrino) chipset nor the Broadcom BCM9430x (e.g. Dell Truemobile 1180/1300/1400) chipset is currently supported in Linux due to FCC regulation problems.

I have pointed out to Intel that 802.11b is _not_ subject to FCC regulation problems and I hope they will release a driver for the 802.11b Intel/PRO 2100 mini-PCI cards sometime in the (near?) future. It would be a sensible thing to do IMHO.

Quoted 6 lines

Anyhow, I plan to get a new Notebook within the next 2 or 3 weeks and I need to decide, whether to go for the Intel PRO/Wireless 2100 or the Broadcom BCM9430x chipset. I know it's hard to say, but what do you think, which company (Intel or Broadcom) is more likely to release the necessary documents and/or drivers for their chipsets? Both companys seem to ignore all inquiries concerning Linux support at the moment.

How long is a piece of string? I get replies from Intel when I write to them, but it is all a bit vague. They will not commit to anything, which is is frustrating.

/A