* Hacking PCI-ids to allow Atheros NIC into Lenovo laptop.
@ 2012-03-12 21:52 Ben Greear
2012-03-12 22:13 ` Florian Fainelli
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Ben Greear @ 2012-03-12 21:52 UTC (permalink / raw)
To: linux-wireless@vger.kernel.org
It seems we bought a Lenovo laptop that has a BIOS lock where it will only
support certain wifi NICs based on the pci-id. It came with an Intel
NIC, so at least that ID must work...
One way around this might be to over-write the pci-id of an Atheros NIC
in it's non-volatile storage to make it look like an Intel, at least until
the kernel boots.
Then maybe add some sort of ugly code to force the Atheros driver
to manage this Intel pci-id (and probably disable the same pci-id in
the Intel driver).
Has anyone tried doing anything like this? Any suggestions for a cleaner
way to go about this?
Thanks,
Ben
--
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-12 21:52 Hacking PCI-ids to allow Atheros NIC into Lenovo laptop Ben Greear @ 2012-03-12 22:13 ` Florian Fainelli 2012-03-12 22:16 ` Julian Calaby 2012-03-12 22:32 ` Christian Lamparter 2 siblings, 0 replies; 12+ messages in thread From: Florian Fainelli @ 2012-03-12 22:13 UTC (permalink / raw) To: Ben Greear; +Cc: linux-wireless@vger.kernel.org Hi, Le 12/03/2012 22:52, Ben Greear a écrit : > It seems we bought a Lenovo laptop that has a BIOS lock where it will only > support certain wifi NICs based on the pci-id. It came with an Intel > NIC, so at least that ID must work... > > One way around this might be to over-write the pci-id of an Atheros NIC > in it's non-volatile storage to make it look like an Intel, at least until > the kernel boots. > > Then maybe add some sort of ugly code to force the Atheros driver > to manage this Intel pci-id (and probably disable the same pci-id in > the Intel driver). > > Has anyone tried doing anything like this? Any suggestions for a cleaner > way to go about this? The only viable hack that I have came to with my laptop (Lenovo X61) is to have a patched BIOS. Fortunately the web is full of such modified BIOSes enabling various features (SATA2 vs SATA1, Wireless NICs whitelisting ...) -- Florian ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-12 21:52 Hacking PCI-ids to allow Atheros NIC into Lenovo laptop Ben Greear 2012-03-12 22:13 ` Florian Fainelli @ 2012-03-12 22:16 ` Julian Calaby 2012-03-12 22:32 ` Christian Lamparter 2 siblings, 0 replies; 12+ messages in thread From: Julian Calaby @ 2012-03-12 22:16 UTC (permalink / raw) To: Ben Greear; +Cc: linux-wireless@vger.kernel.org Hi Ben, On Tue, Mar 13, 2012 at 08:52, Ben Greear <greearb@candelatech.com> wrote: > It seems we bought a Lenovo laptop that has a BIOS lock where it will only > support certain wifi NICs based on the pci-id. It came with an Intel > NIC, so at least that ID must work... This is standard with Lenovo (and I believe this originated back when IBM was building the machines) as it's their method of ensuring some form of compliance - i.e. they guarantee that it complies with More details here: http://www.thinkwiki.org/wiki/Problem_with_unauthorized_MiniPCI_network_card > One way around this might be to over-write the pci-id of an Atheros NIC > in it's non-volatile storage to make it look like an Intel, at least until > the kernel boots. That is one of the solutions discussed on that page, it also discusses a few others with varying amounts of success. Thanks, -- Julian Calaby Email: julian.calaby@gmail.com Profile: http://www.google.com/profiles/julian.calaby/ .Plan: http://sites.google.com/site/juliancalaby/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-12 21:52 Hacking PCI-ids to allow Atheros NIC into Lenovo laptop Ben Greear 2012-03-12 22:13 ` Florian Fainelli 2012-03-12 22:16 ` Julian Calaby @ 2012-03-12 22:32 ` Christian Lamparter 2012-03-12 22:36 ` Ben Greear 2 siblings, 1 reply; 12+ messages in thread From: Christian Lamparter @ 2012-03-12 22:32 UTC (permalink / raw) To: Ben Greear; +Cc: linux-wireless@vger.kernel.org On Monday, March 12, 2012 10:52:49 PM Ben Greear wrote: > It seems we bought a Lenovo laptop that has a BIOS lock where it will only > support certain wifi NICs based on the pci-id. It came with an Intel > NIC, so at least that ID must work... > > One way around this might be to over-write the pci-id of an Atheros NIC > in it's non-volatile storage to make it look like an Intel, at least until > the kernel boots. > > Then maybe add some sort of ugly code to force the Atheros driver > to manage this Intel pci-id (and probably disable the same pci-id in > the Intel driver). > > Has anyone tried doing anything like this? Any suggestions for a cleaner > way to go about this? Been down this road before. First an old X41 Tablet and more recently a HP dv6 laptop. I think if you manage to reprogram the cards pciids then you are more than halfway there. Because theoretically, you can get away with adding the fake intel id to ath9k through sysfs: echo "8086 dead" > /sys/bus/pci/drivers/ath9k/new_id [for more information, take a look at the new_id sysfs interface] (Of course, you'll have to get rid of the intel driver first) That said, in both cases I risked flashing a modded bios. So whitelists are no longer a problem. PS: AFAIK [Maybe some QCA dev can verify this]: all AR9300+ have OTP ROMs for the pciids. So you might want to get an older AR9280 for your laptop. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-12 22:32 ` Christian Lamparter @ 2012-03-12 22:36 ` Ben Greear 2012-03-13 0:53 ` Luis R. Rodriguez 0 siblings, 1 reply; 12+ messages in thread From: Ben Greear @ 2012-03-12 22:36 UTC (permalink / raw) To: Christian Lamparter; +Cc: linux-wireless@vger.kernel.org On 03/12/2012 03:32 PM, Christian Lamparter wrote: > On Monday, March 12, 2012 10:52:49 PM Ben Greear wrote: >> It seems we bought a Lenovo laptop that has a BIOS lock where it will only >> support certain wifi NICs based on the pci-id. It came with an Intel >> NIC, so at least that ID must work... >> >> One way around this might be to over-write the pci-id of an Atheros NIC >> in it's non-volatile storage to make it look like an Intel, at least until >> the kernel boots. >> >> Then maybe add some sort of ugly code to force the Atheros driver >> to manage this Intel pci-id (and probably disable the same pci-id in >> the Intel driver). >> >> Has anyone tried doing anything like this? Any suggestions for a cleaner >> way to go about this? > Been down this road before. First an old X41 Tablet and more recently a HP > dv6 laptop. > > I think if you manage to reprogram the cards pciids then you are more than > halfway there. Because theoretically, you can get away with adding the fake > intel id to ath9k through sysfs: > > echo "8086 dead"> /sys/bus/pci/drivers/ath9k/new_id > [for more information, take a look at the new_id sysfs interface] > (Of course, you'll have to get rid of the intel driver first) > > That said, in both cases I risked flashing a modded bios. So whitelists are > no longer a problem. > > PS: AFAIK [Maybe some QCA dev can verify this]: all AR9300+ have OTP ROMs > for the pciids. So you might want to get an older AR9280 for your laptop. We're hoping to use the WPEA-127N. Thanks for all the info! Ben -- Ben Greear <greearb@candelatech.com> Candela Technologies Inc http://www.candelatech.com ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-12 22:36 ` Ben Greear @ 2012-03-13 0:53 ` Luis R. Rodriguez 2012-03-13 0:57 ` Matthew Garrett 2012-03-13 0:58 ` Ben Greear 0 siblings, 2 replies; 12+ messages in thread From: Luis R. Rodriguez @ 2012-03-13 0:53 UTC (permalink / raw) To: Ben Greear, David Woodhouse, Matthew Garrett Cc: Christian Lamparter, linux-wireless@vger.kernel.org On Mon, Mar 12, 2012 at 3:36 PM, Ben Greear <greearb@candelatech.com> wrote: > On 03/12/2012 03:32 PM, Christian Lamparter wrote: >> >> On Monday, March 12, 2012 10:52:49 PM Ben Greear wrote: >>> >>> It seems we bought a Lenovo laptop that has a BIOS lock where it will >>> only >>> support certain wifi NICs based on the pci-id. It came with an Intel >>> NIC, so at least that ID must work... >>> >>> One way around this might be to over-write the pci-id of an Atheros NIC >>> in it's non-volatile storage to make it look like an Intel, at least >>> until >>> the kernel boots. >>> >>> Then maybe add some sort of ugly code to force the Atheros driver >>> to manage this Intel pci-id (and probably disable the same pci-id in >>> the Intel driver). >>> >>> Has anyone tried doing anything like this? Any suggestions for a cleaner >>> way to go about this? >> >> Been down this road before. First an old X41 Tablet and more recently a HP >> dv6 laptop. >> >> I think if you manage to reprogram the cards pciids then you are more than >> halfway there. Because theoretically, you can get away with adding the >> fake >> intel id to ath9k through sysfs: >> >> echo "8086 dead"> /sys/bus/pci/drivers/ath9k/new_id >> [for more information, take a look at the new_id sysfs interface] >> (Of course, you'll have to get rid of the intel driver first) >> >> That said, in both cases I risked flashing a modded bios. So whitelists >> are >> no longer a problem. >> >> PS: AFAIK [Maybe some QCA dev can verify this]: all AR9300+ have OTP ROMs >> for the pciids. So you might want to get an older AR9280 for your laptop. > > > > We're hoping to use the WPEA-127N. I might as well chime in to explain the long story. If we figure out a way to ensure we can always get the antenna gain uniformly across different systems and expose this to the OS I suspect we can convince some OEMs this would be a better solution than simply restricting devices. I looked a the newer generation of dmidecode (its not called DMI, its something else now) thingy but saw no one yet had added 802.11 specifically, perhaps it may be good to consider it in the future for this. that's as far as I got from trying to kill this concern. Luis ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-13 0:53 ` Luis R. Rodriguez @ 2012-03-13 0:57 ` Matthew Garrett 2012-03-13 1:11 ` Luis R. Rodriguez 2012-03-13 0:58 ` Ben Greear 1 sibling, 1 reply; 12+ messages in thread From: Matthew Garrett @ 2012-03-13 0:57 UTC (permalink / raw) To: Luis R. Rodriguez Cc: Ben Greear, David Woodhouse, Christian Lamparter, linux-wireless@vger.kernel.org On Mon, Mar 12, 2012 at 05:53:03PM -0700, Luis R. Rodriguez wrote: > I might as well chime in to explain the long story. If we figure out a > way to ensure we can always get the antenna gain uniformly across > different systems and expose this to the OS I suspect we can convince > some OEMs this would be a better solution than simply restricting > devices. I looked a the newer generation of dmidecode (its not called > DMI, its something else now) thingy but saw no one yet had added > 802.11 specifically, perhaps it may be good to consider it in the > future for this. that's as far as I got from trying to kill this > concern. Exposing it as either an smbios table or in ACPI somewhere would be the two most typical methods for doing this. It's easy to spec an ACPI table for it if you think there'd be any vendor interest. -- Matthew Garrett | mjg59@srcf.ucam.org ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-13 0:57 ` Matthew Garrett @ 2012-03-13 1:11 ` Luis R. Rodriguez 2012-03-21 5:01 ` Adrian Chadd 0 siblings, 1 reply; 12+ messages in thread From: Luis R. Rodriguez @ 2012-03-13 1:11 UTC (permalink / raw) To: Matthew Garrett Cc: Ben Greear, David Woodhouse, Christian Lamparter, linux-wireless@vger.kernel.org On Mon, Mar 12, 2012 at 5:57 PM, Matthew Garrett <mjg59@srcf.ucam.org> wrote: > On Mon, Mar 12, 2012 at 05:53:03PM -0700, Luis R. Rodriguez wrote: > >> I might as well chime in to explain the long story. If we figure out a >> way to ensure we can always get the antenna gain uniformly across >> different systems and expose this to the OS I suspect we can convince >> some OEMs this would be a better solution than simply restricting >> devices. I looked a the newer generation of dmidecode (its not called >> DMI, its something else now) thingy but saw no one yet had added >> 802.11 specifically, perhaps it may be good to consider it in the >> future for this. that's as far as I got from trying to kill this >> concern. > > Exposing it as either an smbios table or in ACPI somewhere would be the > two most typical methods for doing this. It's easy to spec an ACPI table > for it if you think there'd be any vendor interest. Better than what we have today, no alternative proposal. Luis ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-13 1:11 ` Luis R. Rodriguez @ 2012-03-21 5:01 ` Adrian Chadd 2012-03-21 11:15 ` Matthew Garrett 0 siblings, 1 reply; 12+ messages in thread From: Adrian Chadd @ 2012-03-21 5:01 UTC (permalink / raw) To: Luis R. Rodriguez Cc: Matthew Garrett, Ben Greear, David Woodhouse, Christian Lamparter, linux-wireless@vger.kernel.org On 12 March 2012 18:11, Luis R. Rodriguez <mcgrof@frijolero.org> wrote: >> Exposing it as either an smbios table or in ACPI somewhere would be the >> two most typical methods for doing this. It's easy to spec an ACPI table >> for it if you think there'd be any vendor interest. > > Better than what we have today, no alternative proposal. Is there any current "vendor space" in ACPI that we can write to and leverage as a kind of example test case? Adrian ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-21 5:01 ` Adrian Chadd @ 2012-03-21 11:15 ` Matthew Garrett 0 siblings, 0 replies; 12+ messages in thread From: Matthew Garrett @ 2012-03-21 11:15 UTC (permalink / raw) To: Adrian Chadd Cc: Luis R. Rodriguez, Ben Greear, David Woodhouse, Christian Lamparter, linux-wireless@vger.kernel.org On Tue, Mar 20, 2012 at 10:01:05PM -0700, Adrian Chadd wrote: > On 12 March 2012 18:11, Luis R. Rodriguez <mcgrof@frijolero.org> wrote: > > >> Exposing it as either an smbios table or in ACPI somewhere would be the > >> two most typical methods for doing this. It's easy to spec an ACPI table > >> for it if you think there'd be any vendor interest. > > > > Better than what we have today, no alternative proposal. > > Is there any current "vendor space" in ACPI that we can write to and > leverage as a kind of example test case? Not really. In theory the ACPI namespace is only usable if you've pushed something through the ACPI process - in practice, grabbing a table name first and asking questions later tends to work fine. -- Matthew Garrett | mjg59@srcf.ucam.org ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-13 0:53 ` Luis R. Rodriguez 2012-03-13 0:57 ` Matthew Garrett @ 2012-03-13 0:58 ` Ben Greear 2012-03-13 3:13 ` Julian Calaby 1 sibling, 1 reply; 12+ messages in thread From: Ben Greear @ 2012-03-13 0:58 UTC (permalink / raw) To: Luis R. Rodriguez Cc: David Woodhouse, Matthew Garrett, Christian Lamparter, linux-wireless@vger.kernel.org On 03/12/2012 05:53 PM, Luis R. Rodriguez wrote: > On Mon, Mar 12, 2012 at 3:36 PM, Ben Greear<greearb@candelatech.com> wrote: >> On 03/12/2012 03:32 PM, Christian Lamparter wrote: >>> >>> On Monday, March 12, 2012 10:52:49 PM Ben Greear wrote: >>>> >>>> It seems we bought a Lenovo laptop that has a BIOS lock where it will >>>> only >>>> support certain wifi NICs based on the pci-id. It came with an Intel >>>> NIC, so at least that ID must work... >>>> >>>> One way around this might be to over-write the pci-id of an Atheros NIC >>>> in it's non-volatile storage to make it look like an Intel, at least >>>> until >>>> the kernel boots. >>>> >>>> Then maybe add some sort of ugly code to force the Atheros driver >>>> to manage this Intel pci-id (and probably disable the same pci-id in >>>> the Intel driver). >>>> >>>> Has anyone tried doing anything like this? Any suggestions for a cleaner >>>> way to go about this? >>> >>> Been down this road before. First an old X41 Tablet and more recently a HP >>> dv6 laptop. >>> >>> I think if you manage to reprogram the cards pciids then you are more than >>> halfway there. Because theoretically, you can get away with adding the >>> fake >>> intel id to ath9k through sysfs: >>> >>> echo "8086 dead"> /sys/bus/pci/drivers/ath9k/new_id >>> [for more information, take a look at the new_id sysfs interface] >>> (Of course, you'll have to get rid of the intel driver first) >>> >>> That said, in both cases I risked flashing a modded bios. So whitelists >>> are >>> no longer a problem. >>> >>> PS: AFAIK [Maybe some QCA dev can verify this]: all AR9300+ have OTP ROMs >>> for the pciids. So you might want to get an older AR9280 for your laptop. >> >> >> >> We're hoping to use the WPEA-127N. > > I might as well chime in to explain the long story. If we figure out a > way to ensure we can always get the antenna gain uniformly across > different systems and expose this to the OS I suspect we can convince > some OEMs this would be a better solution than simply restricting > devices. I looked a the newer generation of dmidecode (its not called > DMI, its something else now) thingy but saw no one yet had added > 802.11 specifically, perhaps it may be good to consider it in the > future for this. that's as far as I got from trying to kill this > concern. Seems like laptop vendors are just being lame. Why can normal PCs get away with no restrictions but somehow laptop makers have to do this?? Seems ethtool cannot dump eeprom from the atheros NICs I have (including the WPEA-127N). Any idea if it's possible to add the ability to dump (and eventually write) to the WPA-127N (and possibly others)? Thanks, Ben > > Luis -- Ben Greear <greearb@candelatech.com> Candela Technologies Inc http://www.candelatech.com ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Hacking PCI-ids to allow Atheros NIC into Lenovo laptop. 2012-03-13 0:58 ` Ben Greear @ 2012-03-13 3:13 ` Julian Calaby 0 siblings, 0 replies; 12+ messages in thread From: Julian Calaby @ 2012-03-13 3:13 UTC (permalink / raw) To: Ben Greear Cc: Luis R. Rodriguez, David Woodhouse, Matthew Garrett, Christian Lamparter, linux-wireless@vger.kernel.org Hi Ben, On Tue, Mar 13, 2012 at 11:58, Ben Greear <greearb@candelatech.com> wrote: > Seems like laptop vendors are just being lame. Why can normal PCs > get away with no restrictions but somehow laptop makers have to do this?? >From what I've read, the issue isn't the card or regulatory itself, it's the antennae. In a desktop situation, you have a card with an detachable antenna, and the card / antenna unit can be confirmed to comply with whatever regulations are in effect. In a laptop, the antennae are usually part of the laptop body, and only the card itself is replaceable, so the manufacturer is locking out cards that it has not tested with the built-in antennae. Thanks, -- Julian Calaby Email: julian.calaby@gmail.com Profile: http://www.google.com/profiles/julian.calaby/ .Plan: http://sites.google.com/site/juliancalaby/ ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2012-03-21 11:15 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-03-12 21:52 Hacking PCI-ids to allow Atheros NIC into Lenovo laptop Ben Greear 2012-03-12 22:13 ` Florian Fainelli 2012-03-12 22:16 ` Julian Calaby 2012-03-12 22:32 ` Christian Lamparter 2012-03-12 22:36 ` Ben Greear 2012-03-13 0:53 ` Luis R. Rodriguez 2012-03-13 0:57 ` Matthew Garrett 2012-03-13 1:11 ` Luis R. Rodriguez 2012-03-21 5:01 ` Adrian Chadd 2012-03-21 11:15 ` Matthew Garrett 2012-03-13 0:58 ` Ben Greear 2012-03-13 3:13 ` Julian Calaby
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).