Jump to content

Intel Wireless driver


jalavoui
 Share

3,992 posts in this topic

Recommended Posts

First time I play around with driver coding so don't laugh :)

 

Now I just changed a little portion of code to see how much further the driver would go, and here it is ( iwi3945.cpp )

 

int darwin_iwi3945::ipw_grab_restricted_access(struct ipw_priv *priv)
{
 int rc;
 ipw_set_bit(CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
 IOLog("CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY --> %d\n", CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY);
 IOLog("CSR_GP_CNTRL_REG_FLAG_GOING_TO_SLEEP --> %d\n", CSR_GP_CNTRL_REG_FLAG_GOING_TO_SLEEP);

 rc = ipw_poll_bit(CSR_GP_CNTRL,
 //		  CSR_GP_CNTRL_REG_VAL_MAC_ACCESS_EN,
 //		  (CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY | CSR_GP_CNTRL_REG_FLAG_GOING_TO_SLEEP), 4000);
		   (CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY), 4000);
 if (rc < 0) {
	 IOLog("MAC is in deep sleep!\n");
//			  ipw_set_bit(priv, CSR_RESET, CSR_RESET_REG_FLAG_FORCE_NMI);
	 return -EIO;
 }

 priv->status |= STATUS_RESTRICTED;

 return 0;
}

 

This results in the following system.log file (attached) when p_disable=0 in Info.plist

EDIT: the system.log.txt file is a little weird at the bottom, its my fault, i do echo "CTLR-PASTE" > system.log.txt which most probably just corrupted the bottom of the fiile... lol

 

Now im leaning towards a power management problem, for which the mac address of the card cannot be fetched since it is in sleep mode. The card just doesn't seem to wake up, then again i might be way off track.

 

jalavoui, let me know what else i can do to help. There's just so much code i don't know where to start.

system.log.txt

Edited by patatester
Link to comment
Share on other sites

jalavoui, you will have to explain a little bit how to play around with the firmware, i am very willing to help out ( heck ive been on this thread for the past 3 days straight ), but this firmware thing confuses me. ITs the first time i see a firmware as Hex values, i can see the microcode out there for linux (ipw3945 sourceforge project), but i dont know how you created the ipw3945fw.h . ill be back in a couple of hours.

Link to comment
Share on other sites

I got the whole hex2string to convert the firmware ( or ucode? ) into a fw.h header file, but our problem does not lie here. The driver currently isn't even getting to the point where it is trying to load the firmware if i am not mistaking.

 

The error "Unable to int nic " happens within ipw_init_nic(), more specifically within ipw_grab_restricted_access(priv) . The card either does not respond, or is asleep and does not wake, therefore causing the "mac is in deep sleep" error.

 

Before ipw_grab_restricted_access, ipw_power_init_handle() is called on the interface, and im thinking this function is responsible for getting the device up and running. In system.log, i do see the message "adjust power command flags", which i think relates to the card's power management. Maybe the flags aren't correct and have no effect on the card???

 

jalavoui, let me know if this makes sense pls

Link to comment
Share on other sites

it really odesn't matter. either way oyu'll have to recode it in iokit.

Link to comment
Share on other sites

i think so > ( move ipw_up to set_power)

if you know checking IOFamiliy version in source code, you tell me the method. i will change it ( if version is 10.4.8, ipw_up is called in setPower. if not , from ::enable() ).

yes. but i think it is good that its implentation is after tx data packet .

hum. I begin to write OutputPacket(), I should not do it ?

(I dont know the detail of kpi_mbuf and IO/Kit so I learning to read sevaral source code. )

ok. i will find the methond of uploading drivers.

 

I have svn repository of iwi2200. i want to send its url to you because it is not public.

it is no problem?

 

do you think ieee80211_rx will be easy to port? maybe using other code and abandon ieee80211_rx is the solution.

 

i don't know how to make a public svn repository. it would be better to allow other to help us. can you build one? we'll move the source code there and keep the build versions here - it would be nice :)

Link to comment
Share on other sites

I got the whole hex2string to convert the firmware ( or ucode? ) into a fw.h header file, but our problem does not lie here. The driver currently isn't even getting to the point where it is trying to load the firmware if i am not mistaking.

 

The error "Unable to int nic " happens within ipw_init_nic(), more specifically within ipw_grab_restricted_access(priv) . The card either does not respond, or is asleep and does not wake, therefore causing the "mac is in deep sleep" error.

 

Before ipw_grab_restricted_access, ipw_power_init_handle() is called on the interface, and im thinking this function is responsible for getting the device up and running. In system.log, i do see the message "adjust power command flags", which i think relates to the card's power management. Maybe the flags aren't correct and have no effect on the card???

 

jalavoui, let me know if this makes sense pls

 

 

 

i should check to see if the functions in iwi3945.kext match the ones found in linux (ipw3945-1.2.0). some of these functions are very easy to port (just copy/paste). you should start here before going further - this is the cause of all problems because i believe some of this functions are using old iwi2200 code and should be using ported ipw3945 code.

 

the _ipw_write functions are wrong - this will prevent everything else to work

 

the firmware (ipw3945-ucode-1.13) was converted with hex2strings.

 

copy the getSTATUS_DEV of iwi2200. i've already posted the source in previous posts

 

you're using the 10.4.8 IO80211 family. go back to 10.4.7 (you get less bugs this way)

 

don't use ifconfig. the interface should work only by pressing the wireless button.

Link to comment
Share on other sites

Anyone know why the 3945 driver is not able to detect the adapter's mac address ?

 

Wireless hotkey does not help

 

the Wireless hotkey will only work after the firmware (microcode) is loaded.

i've posted a split firmware utility. it might help it worked fine for iwi2200, but it must be changed for iwi3945

Link to comment
Share on other sites

the code in is really a mess

 

ignore the previous post the darwin_iwi3945::ipw_eeprom_init_sram(struct ipw_priv *priv) exists

 

 

the bug is in the functions called inside it (i have no way to test them) because they're using iwi2200 code

Link to comment
Share on other sites

If p_disable == 0, doing a ifconfig en1 up output this in system.log

 

Jan 21 13:18:27 patrick-de-lanauzes-computer kernel[0]: enabling netif...

Jan 21 13:18:27 patrick-de-lanauzes-computer kernel[0]: Intialize power

Jan 21 13:18:27 patrick-de-lanauzes-computer kernel[0]: adjust power command flags

Jan 21 13:18:27 patrick-de-lanauzes-computer kernel[0]: initialize rate scale window to 62

Jan 21 13:18:31 patrick-de-lanauzes-computer kernel[0]: MAC is in deep sleep!

Jan 21 13:18:31 patrick-de-lanauzes-computer kernel[0]: Unable to int nic

Jan 21 13:18:31 patrick-de-lanauzes-computer kernel[0]: trying to down the interface

 

else if p_disable == 1, it outputs this in system.log even though card is powered on or off

 

Jan 21 13:30:11 patrick-de-lanauzes-computer kernel[0]: enabling netif...

Jan 21 13:30:11 patrick-de-lanauzes-computer kernel[0]: Radio disabled by module parameter.

Jan 21 13:30:11 patrick-de-lanauzes-computer kernel[0]: trying to down the interface

 

 

forgot to said: if the wireless button does not work

 

it's better to have p_disable = 0

 

this allow the driver to auto start

 

 

just remember to delete the Extensions.kextcache and Extensions.mkext before rebooting or the parameter won't be recognized by the kernel

 

i don't know if anyone's interested in the iwi2100.kext but this should also be changed in the info.plist file

Link to comment
Share on other sites

do you think ieee80211_rx will be easy to port? maybe using other code and abandon ieee80211_rx is the solution.

 

i don't know how to make a public svn repository. it would be better to allow other to help us. can you build one? we'll move the source code there and keep the build versions here - it would be nice :)

 

I think ieee80211_rx is easy ( without decrption and fragmentation ) .

because i dont know that fragmentaion must be done in mbuff.

rx dont work in currently code?

 

I has public server so it is esat only that i make public repository.

I want to share it for only a few coder because i want to public it for this project.

 

hum. i crearte project google code .

url is http://code.google.com/p/iwidarwin/.

 

jalavoui, plz send me gmail account in private message and i will register you.

and if there are coder, plz send me gmail account.

 

source code dont be registered to google code svn repository yet.

I will add source code after getting.

Link to comment
Share on other sites

Hi all,

I've been testing this since my last post here but I've not downgraded my kexts to 10.4.7 yet.

I need to find out, is anyone worked out to gather the required 10.4.7 kext files together as a package to add them here?

 

If so, could someone zip them up and attach them here... There are obviously enough people with the files.

 

If not, could someone please detail the location of each required kext for this driver to work... As in which required kext is in which particular update so that I can do it for everyone.

 

It would really help everyone and get this moving a lot faster if someone rolled up the 10.4.7 kexts into a zip file and attached them in this thread... So that everyone is using the same thing and working from the same level.

 

Thanks.

 

Also, here are my recent logs.

I've managed to get it to find my APs but I still get a crash when i try to connect.

 

Here is my log on startup:

 

ks-computer:~ root# dmesgt 0xffe00000

PAE enabled

enabling INTEL features

standard timeslicing quantum is 10000 us

vm_page_bootstrap: 512192 free pages

mig_table_max_displ = 71

Enabling XMM register save/restore and SSE/SSE2 opcodes

ACPI CA 20051117 [debug level=0 layer=0]

AppleIntelCPUPowerManagement: ready

AppleACPICPU: ProcessorApicId=0 LocalApicId=0 Enabled

PASSED! ...maximum protection of commpage set ALL

Copyright © 1982, 1986, 1989, 1991, 1993

The Regents of the University of California. All rights reserved.

 

using 10485 buffer headers and 4096 cluster IO buffer headers

IOAPIC: Version 0x20 Vectors 0:23

ACPI: System State [s0 S3 S4 S5] (S3)

Security auditing service present

BSM auditing present

disabled

From path: "uuid",

Waiting for boot volume with UUID 5201987C-3BC4-32D4-AA84-02C73B601FF0

Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict>

USB caused wake event (EHCI)

AppleIntelPIIXPATA: Secondary PCI IDE channel is disabled

IOPCCardBridge::start failed

Debug driver registered: AppleUSBUHCI

Debug driver registered: AppleUSBUHCI

FireWire (OHCI) TI ID 8026 PCI now active, GUID 00000e100352c887; max speed s400.

Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@1F,2/AppleAHCI/PRT0@0/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice/IOBlockStorageDriver/ST96812AS Media/IOFDiskPartitionScheme/Untitled 2@2

BSD root: disk0s2, major 14, minor 2

jnl: replay_journal: from: 294400 to: 6683136 (joffset 0x68000)

Jettisoning kernel linker.

Resetting IOCatalogue.

GFX0: family specific matching fails

display: family specific matching fails

Matching service count = 0

Matching service count = 2

Matching service count = 2

Matching service count = 2

Matching service count = 2

Matching service count = 3

GFX0: family specific matching fails

display: family specific matching fails

GFX0: family specific matching fails

display: family specific matching fails

iwi2200: disable 1 led 1 mode 0

iwi2200: darwin_iwi2200 iomemory length: 0x1000 @ 0xb0204000

iwi2200: darwin_iwi2200 virt: 0x34da9000 physical: 0xb0204000

iwi2200: darwin_iwi2200 IRQ: 18, Vendor ID: 8086, Product ID: 4220

ApplePS2Trackpad: Synaptics TouchPad v5.9

iwi2200: setPowerState to 2

iwi2200: getCARD_CAPABILITIES 72

iwi2200: configureInterface

darwin_iwi2200: Ethernet address 00:13:ce:XX:YY:ZZ

iwi2200: dataLinkLayerAttachComplete

iwi2200: getSTATUS_DEV

iwi2200: ifnet_t en1 = 3b01204

iwi2200: old_mode 0

iwi2200: Radio disabled.

iwi2200: QoS is enabled

iwi2200: Hardware crypto [off]

iwi2200: : Detected Intel PRO/Wireless 2200BG Network Connection

display: Not usable

iwi2200: boot firmware ok

iwi2200: Microcode OK, rev. 53594 (0xd15a) dev. 3 (0x3) of 11/22/04 20:27

iwi2200: bss firmware ok

iwi2200: Writing EEPROM data into SRAM

iwi2200: getPOWER -986580942, 500 588950524 0 0

iwi2200: getSSID <hidden> l:616641864

iwi2200: getCHANNEL c:0 f:0

iwi2200: getBSSID <hidden>

iwi2200: IPW_INTA_BIT_RF_KILL_DONE

Press wireless button to turn interface on

iwi2200: setPOWER 1, 1 1 1 1

iwi2200: power on

iwi2200: getCHANNEL c:0 f:0

iwi2200: enabling netif...

iwi2200: boot firmware ok

iwi2200: Microcode OK, rev. 53594 (0xd15a) dev. 3 (0x3) of 11/22/04 20:27

iwi2200: bss firmware ok

iwi2200: Writing EEPROM data into SRAM

iwi2200: table 0 offset at 0x00000700, len = 67

iwi2200: table 1 offset at 0x00029600, len = 170

iwi2200: table 2 offset at 0x00029ee0, len = 6

iwi2200: geography 9 = ZZR

iwi2200: Radio Frequency Kill Switch is On:

Kill switch must be turned off for wireless networking to work.

iwi2200: trying to down the interface

iwi2200: IPW_INTA_BIT_RF_KILL_DONE

Press wireless button to turn interface on

iwi2200: enabling netif...

iwi2200: Unable to initialize device after 2 attempts.

iwi2200: trying to down the interface

iwi2200: enabling netif...

iwi2200: Unable to initialize device after 2 attempts.

iwi2200: trying to down the interface

iwi2200: enabling netif...

iwi2200: Unable to initialize device after 2 attempts.

iwi2200: trying to down the interface

 

Here is my log AFTER I SWITCH THE WIFI POWER ON:

ks-computer:~ root# dmesg

200: (80211_MGMT) MFIE_TYPE_ERP_SET: 6

iwi2200: (80211_MGMT) MFIE_TYPE_GENERIC: 8 bytes

iwi2200: (80211_SCAN) Updating 'Platform 9 Wireless' (00:11:50:XX:YY:ZZ) via BEACON.

iwi2200: IPW_INTA_BIT_RX_TRANSFER)

iwi2200: Packet: type=09 seq=B5 bits=5F

iwi2200: Frame: len=104

iwi2200: IEEE80211_FTYPE_MGMT

iwi2200: (80211_MGMT) received BEACON (128)

iwi2200: (80211_SCAN) 'ACM' (00:11:50:XX:YY:ZZ): 0000 0100-0001 0001

iwi2200: MFIE_TYPE_SSID: 'ACM' len=3.

iwi2200: (80211_MGMT) MFIE_TYPE_DS_SET: 11

iwi2200: (80211_MGMT) MFIE_TYPE_TIM: partially ignored

iwi2200: (80211_MGMT) MFIE_TYPE_ERP_SET: 2

iwi2200: (80211_MGMT) Unsupported info element: 1080515572

iwi2200: (80211_MGMT) MFIE_TYPE_GENERIC: 6 bytes

iwi2200: (80211_MGMT) MFIE_TYPE_GENERIC: 22 bytes

iwi2200: (80211_SCAN) Updating 'ACM' (00:11:50:XX:YY:ZZ) via BEACON.

iwi2200: IPW_INTA_BIT_RX_TRANSFER)

iwi2200: Packet: type=09 seq=B5 bits=5F

iwi2200: Frame: len=70

iwi2200: IEEE80211_FTYPE_MGMT

iwi2200: (80211_MGMT) received BEACON (128)

iwi2200: (80211_SCAN) 'VOIP' (00:14:7c:XX:YY:ZZ): 0000 0000-0011 0001

iwi2200: MFIE_TYPE_SSID: 'VOIP' len=4.

iwi2200: (80211_MGMT) MFIE_TYPE_DS_SET: 11

iwi2200: (80211_MGMT) MFIE_TYPE_ERP_SET: 7

iwi2200: (80211_MGMT) MFIE_TYPE_TIM: partially ignored

iwi2200: (80211_SCAN) Updating 'VOIP' (00:14:7c:XX:YY:ZZ) via BEACON.

iwi2200: IPW_INTA_BIT_RX_TRANSFER)

iwi2200: Packet: type=09 seq=B5 bits=5F

iwi2200: Frame: len=115

iwi2200: IEEE80211_FTYPE_MGMT

iwi2200: (80211_MGMT) received BEACON (128)

iwi2200: (80211_SCAN) 'Platform 9 Wireless' (00:11:50:XX:YY:ZZ): 0000 0010-0000 0001

iwi2200: MFIE_TYPE_SSID: 'Platform 9 Wireless' len=19.

iwi2200: (80211_MGMT) MFIE_TYPE_DS_SET: 11

iwi2200: (80211_MGMT) MFIE_TYPE_TIM: partially ignored

iwi2200: (80211_MGMT) Unsupported info element: 1080515572

iwi2200: (80211_MGMT) MFIE_TYPE_ERP_SET: 6

iwi2200: (80211_MGMT) MFIE_TYPE_GENERIC: 8 bytes

iwi2200: (80211_SCAN) Updating 'Platform 9 Wireless' (00:11:50:XX:YY:ZZ) via BEACON.

iwi2200: IPW_INTA_BIT_RX_TRANSFER)

iwi2200: Packet: type=09 seq=B5 bits=5F

iwi2200: Frame: len=104

iwi2200: IEEE80211_FTYPE_MGMT

iwi2200: (80211_MGMT) received BEACON (128)

iwi2200: (80211_SCAN) 'ACM' (00:11:50:XX:YY:ZZ): 0000 0100-0001 0001

iwi2200: MFIE_TYPE_SSID: 'ACM' len=3.

iwi2200: (80211_MGMT) MFIE_TYPE_DS_SET: 11

iwi2200: (80211_MGMT) MFIE_TYPE_TIM: partially ignored

iwi2200: (80211_MGMT) MFIE_TYPE_ERP_SET: 2

iwi2200: (80211_MGMT) Unsupported info element: 1080515572

iwi2200: (80211_MGMT) MFIE_TYPE_GENERIC: 6 bytes

iwi2200: (80211_MGMT) MFIE_TYPE_GENERIC: 22 bytes

iwi2200: (80211_SCAN) Updating 'ACM' (00:11:50:XX:YY:ZZ) via BEACON.

iwi2200: IPW_INTA_BIT_RX_TRANSFER)

iwi2200: Packet: type=09 seq=B5 bits=5F

iwi2200: Frame: len=70

iwi2200: IEEE80211_FTYPE_MGMT

iwi2200: (80211_MGMT) received BEACON (128)

iwi2200: (80211_SCAN) 'VOIP' (00:14:7c:XX:YY:ZZ): 0000 0000-0011 0001

iwi2200: MFIE_TYPE_SSID: 'VOIP' len=4.

iwi2200: (80211_MGMT) MFIE_TYPE_DS_SET: 11

iwi2200: (80211_MGMT) MFIE_TYPE_ERP_SET: 7

iwi2200: (80211_MGMT) MFIE_TYPE_TIM: partially ignored

iwi2200: (80211_SCAN) Updating 'VOIP' (00:14:7c:XX:YY:ZZ) via BEACON.

iwi2200: IPW_INTA_BIT_RX_TRANSFER)

iwi2200: Packet: type=09 seq=B5 bits=5F

iwi2200: Frame: len=70

iwi2200: IEEE80211_FTYPE_MGMT

iwi2200: (80211_MGMT) received BEACON (128)

iwi2200: (80211_SCAN) 'VOIP' (00:14:7c:XX:YY:ZZ): 0000 0000-0011 0001

iwi2200: MFIE_TYPE_SSID: 'VOIP' len=4.

iwi2200: (80211_MGMT) MFIE_TYPE_DS_SET: 11

iwi2200: (80211_MGMT) MFIE_TYPE_ERP_SET: 7

iwi2200: (80211_MGMT) MFIE_TYPE_TIM: partially ignored

iwi2200: (80211_SCAN) Updating 'VOIP' (00:14:7c:XX:YY:ZZ) via BEACON.

iwi2200: IPW_INTA_BIT_RX_TRANSFER)

iwi2200: Packet: type=09 seq=B5 bits=5F

iwi2200: Frame: len=70

iwi2200: IEEE80211_FTYPE_MGMT

iwi2200: (80211_MGMT) received BEACON (128)

iwi2200: (80211_SCAN) 'VOIP' (00:14:7c:XX:YY:ZZ): 0000 0000-0011 0001

iwi2200: MFIE_TYPE_SSID: 'VOIP' len=4.

iwi2200: (80211_MGMT) MFIE_TYPE_DS_SET: 11

iwi2200: (80211_MGMT) MFIE_TYPE_ERP_SET: 7

iwi2200: (80211_MGMT) MFIE_TYPE_TIM: partially ignored

iwi2200: (80211_SCAN) Updating 'VOIP' (00:14:7c:XX:YY:ZZ) via BEACON.

 

I've got access to a few different WiFi connections and I can test different types easily.

 

Thanks.

Link to comment
Share on other sites

I need to find out, is anyone worked out to gather the required 10.4.7 kext files together as a package to add them here?

 

If so, could someone zip them up and attach them here... There are obviously enough people with the files.

 

If not, could someone please detail the location of each required kext for this driver to work... As in which required kext is in which particular update so that I can do it for everyone.

 

It would really help everyone and get this moving a lot faster if someone rolled up the 10.4.7 kexts into a zip file and attached them in this thread... So that everyone is using the same thing and working from the same level.

 

Thanks.

 

I think the problem with this is, typically when Apple's .kext files get attached here, they get taken down as a DMCA violation.

 

A workaround might be to zip up the .kext files and place them on RapidShare, but it seems that might not be acceptable either any more. (I've seen some RS links removed, while others have been allowed.) If there's a moderator reading this thread, would it be possible to get clarification on what is okay and what isn't?

Link to comment
Share on other sites

I think the problem with this is, typically when Apple's .kext files get attached here, they get taken down as a DMCA violation.

 

A workaround might be to zip up the .kext files and place them on RapidShare, but it seems that might not be acceptable either any more. (I've seen some RS links removed, while others have been allowed.) If there's a moderator reading this thread, would it be possible to get clarification on what is okay and what isn't?

 

there's no need to zip the .kext

 

i'm not doing any hack on the files...

 

i've already sayd this...

 

get the apple intel updates (not combo) from 10.4.5 to 10.4.7

 

use pacifist to extract the IO80211 framework and .kext to folders (5,6,7)

 

make a folder "dest"

 

use cp -R or cp -r to copy from folder 5 to dest

use cp -R or cp -r to copy from folder 6 to dest

use cp -R or cp -r to copy from folder 7 to dest

 

now "dest" as the 10.4.7 updated IO80211 framework and .kext

 

move it to Extensions and PrivateFramework folders

 

fix permissions (disk utility)

 

reboot and it's done

 

all legal apple stuff

Link to comment
Share on other sites

I saw an article about wpi driver for 3945 etc. They are caliming that linux driver isn't optimal. May be it's better to port an Open/Net/FreeBSD driver instead... Here is the URL: http://kerneltrap.org/node/6650

 

i read the article

 

if the linx driver uses a closed source daemon the driver will be to hard to do

 

maybe when the firmware loading is complete we can be shure

Link to comment
Share on other sites

i read the article

 

if the linx driver uses a closed source daemon the driver will be to hard to do

 

maybe when the firmware loading is complete we can be shure

 

I dont read ipw3945 driver and dont have 3945abg.

I think that ipw2200 source code is not bad.

( especially better than Atheros driver)

 

if require , you copy required code from BSD's driver.

iwi2200 dont support 11a when i read source code of BSD's iwi2200...

it was problem for me.

Link to comment
Share on other sites

Guest bikedude880
I briefly examined the code here: http://tinyurl.com/3bsdts and can say that the iwi2200 driver does support 802.11a and also that the code of the driver updated hourly. The code of the wpi3945 driver is also updated nearly daily.

 

P.S. I may be wrong, because I'm not a kernel/software developer.

/* set supported .11a rates (2915ABG only) */

if (nchan > 0) {	/* 2915ABG only */
	power.mode = IWI_MODE_11A;

So it looks like 11a is only supported under the 2915 chip.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...