Skip to contentSkip to conversation

Firmware files for Ralink RT28x0

DISCUSSION Xose Vazquez Perez 8 participants 18 messages Apr 10, 2011 – Apr 11, 2011

lore
Share & tools
lore
#0 lore raw
Quoted 23 lines · Ben Hutchings

Ralink provides multiple drivers per bus type for RT28xx and later chips. For PCI devices they split between RT2860 and RT309x; for USB devices they split between RT2870 and RT307x (I think - the chip model numbers don't seem to be stated consistently).

In addition, the USB drivers have two separate images packed together and they can select different images based on the controller version:

#ifdef RTMP_MAC_USB
		if ((Version != 0x2860) && (Version != 0x2872) && (Version != 0x3070)) 
		{	// Use Firmware V2.
			//printk("KH:Use New Version,part2\n");
			pFirmwareImage = (PUCHAR)&FirmwareImage[FIRMWAREIMAGEV1_LENGTH];
			FileLength = FIRMWAREIMAGEV2_LENGTH;
		}
		else
		{
			//printk("KH:Use New Version,part1\n");
			pFirmwareImage = FirmwareImage;
			FileLength = FIRMWAREIMAGEV1_LENGTH;
		}

#endif // RTMP_MAC_USB //

Quoted 8 lines

The firmware blobs in RT2870 version 2009-08-20 and RT3070 version 2009-05-25 are all marked as version 17 (or 0.17), but *they all have different contents*.

I attempted to maintain the same version selection logic when converting the staging drivers to use the firmware loader, since I assumed there was a good reason for it.

As you can see in the ralink web[1] RT28XX/RT30XX USB devices (RT2870/RT2770/RT3572/RT3070) need _only_ the rt2870.bin fw-file.

And RT28XX/RT30XX PCI/mPCI/PCIe/CardBus devices (RT2760/RT2790/RT2860/RT2890/RT3060/RT3062/RT3562/RT2860/RT2760/RT2890/RT2790/RT3090) need _only_ the rt2860.bin fw-file.

Quoted 2 lines

linux-firmware is supposed to have all firmware files referenced by any version of Linux

That's a good joke!
linux-firmware is *unmaintained* , a lot of firmwares are missing. Even the intel ones(microcode.dat, ipw2{1,2}*), zd1211, etc... Others are very old, really it's a mess.
Fedora puts _forty_ patches on top of linux-firmware.

[1] http://www.ralinktech.com/support.php?s=2

#1 lore raw
Quoted 34 lines · Xose Vazquez Perez
Quoted 23 lines · Ben Hutchings

Ralink provides multiple drivers per bus type for RT28xx and later chips. For PCI devices they split between RT2860 and RT309x; for USB devices they split between RT2870 and RT307x (I think - the chip model numbers don't seem to be stated consistently).

In addition, the USB drivers have two separate images packed together and they can select different images based on the controller version:

#ifdef RTMP_MAC_USB
		if ((Version != 0x2860) && (Version != 0x2872) && (Version != 0x3070)) 
		{	// Use Firmware V2.
			//printk("KH:Use New Version,part2\n");
			pFirmwareImage = (PUCHAR)&FirmwareImage[FIRMWAREIMAGEV1_LENGTH];
			FileLength = FIRMWAREIMAGEV2_LENGTH;
		}
		else
		{
			//printk("KH:Use New Version,part1\n");
			pFirmwareImage = FirmwareImage;
			FileLength = FIRMWAREIMAGEV1_LENGTH;
		}

#endif // RTMP_MAC_USB //

Quoted 8 lines

The firmware blobs in RT2870 version 2009-08-20 and RT3070 version 2009-05-25 are all marked as version 17 (or 0.17), but *they all have different contents*.

I attempted to maintain the same version selection logic when converting the staging drivers to use the firmware loader, since I assumed there was a good reason for it.

Quoted 6 lines

As you can see in the ralink web[1] RT28XX/RT30XX USB devices (RT2870/RT2770/RT3572/RT3070) need _only_ the rt2870.bin fw-file.

And RT28XX/RT30XX PCI/mPCI/PCIe/CardBus devices (RT2760/RT2790/RT2860/RT2890/RT3060/RT3062/RT3562/RT2860/RT2760/RT2890/RT2790/RT3090) need _only_ the rt2860.bin fw-file.

These files aren't used by the Ralink drivers. So why should you believe the labels on them?

Quoted 5 lines
Quoted 2 lines

linux-firmware is supposed to have all firmware files referenced by any version of Linux

That's a good joke!
linux-firmware is *unmaintained* , a lot of firmwares are missing.

linux-firmware is not *actively* maintained; it requires people to send submissions (repeatedly...).

Quoted 1 line

Even the intel ones(microcode.dat, ipw2{1,2}*), zd1211, etc...

I think there may be a problem with distribution of Intel Pro Wireless firmware because Intel requires users to accept a EULA.

Quoted 2 lines

Others are very old, really it's a mess. Fedora puts _forty_ patches on top of linux-firmware.

So help to make it better.

Ben.

Signature · 2 lines
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
#2 lore raw
Quoted 56 lines · Ben Hutchings
Quoted 34 lines · Xose Vazquez Perez
Quoted 23 lines · Ben Hutchings

Ralink provides multiple drivers per bus type for RT28xx and later chips. For PCI devices they split between RT2860 and RT309x; for USB devices they split between RT2870 and RT307x (I think - the chip model numbers don't seem to be stated consistently).

In addition, the USB drivers have two separate images packed together and they can select different images based on the controller version:

#ifdef RTMP_MAC_USB
		if ((Version != 0x2860)&&  (Version != 0x2872)&&  (Version != 0x3070))
		{	// Use Firmware V2.
			//printk("KH:Use New Version,part2\n");
			pFirmwareImage = (PUCHAR)&FirmwareImage[FIRMWAREIMAGEV1_LENGTH];
			FileLength = FIRMWAREIMAGEV2_LENGTH;
		}
		else
		{
			//printk("KH:Use New Version,part1\n");
			pFirmwareImage = FirmwareImage;
			FileLength = FIRMWAREIMAGEV1_LENGTH;
		}

#endif // RTMP_MAC_USB //

Quoted 8 lines

The firmware blobs in RT2870 version 2009-08-20 and RT3070 version 2009-05-25 are all marked as version 17 (or 0.17), but *they all have different contents*.

I attempted to maintain the same version selection logic when converting the staging drivers to use the firmware loader, since I assumed there was a good reason for it.

Quoted 6 lines

As you can see in the ralink web[1] RT28XX/RT30XX USB devices (RT2870/RT2770/RT3572/RT3070) need _only_ the rt2870.bin fw-file.

And RT28XX/RT30XX PCI/mPCI/PCIe/CardBus devices (RT2760/RT2790/RT2860/RT2890/RT3060/RT3062/RT3562/RT2860/RT2760/RT2890/RT2790/RT3090) need _only_ the rt2860.bin fw-file.

These files aren't used by the Ralink drivers. So why should you believe the labels on them?

Quoted 5 lines
Quoted 2 lines

linux-firmware is supposed to have all firmware files referenced by any version of Linux

That's a good joke!
linux-firmware is *unmaintained* , a lot of firmwares are missing.

linux-firmware is not *actively* maintained; it requires people to send submissions (repeatedly...).

Quoted 1 line

Even the intel ones(microcode.dat, ipw2{1,2}*), zd1211, etc...

Quoted 7 lines

I think there may be a problem with distribution of Intel Pro Wireless firmware because Intel requires users to accept a EULA.

Quoted 2 lines

Others are very old, really it's a mess. Fedora puts _forty_ patches on top of linux-firmware.

So help to make it better.

Agreed.

My experiences with linux-firmware are that they are justifiably particular about the license. My first attempt was with in-line firmware for the staging driver r8712u that had been distributed in a header file under GPL V2. That source compiled into a binary was not acceptible. After Realtek sent me their license that clearly gave the right to redistribute their firmware, my contribution was immediately accepted. I have since add 4 more Realtek firmware files under the same license. All were accepted without delay.

Larry

#3 lore raw
In reply to Ben Hutchings
Quoted 2 lines · Ben Hutchings

These files aren't used by the Ralink drivers. So why should you believe the labels on them?

Because the hardware manufacturer says that:
http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003380.html

Anyway, the firmware in staging(or ralink web) drivers look different because they are different _versions_ of the _same_ firmware.

rt2870.bin: before 4096 bytes, now 8192 bytes.

Quoted 2 lines

linux-firmware is not *actively* maintained; it requires people to send submissions (repeatedly...).

On 04/06/2010, *ONE YEAR AGO* , I sent a patch to rt2870.bin rt2860.bin. It went to /dev/null

A similar patch was sent by the *driver maintainer* on 10/30/2010. It went to /dev/null

The same patch was sent by the *hardware manufacturer* on 03/11/2011 It went to /dev/null

Torvalds, Mozart and God are pending.

Quoted 2 lines

I think there may be a problem with distribution of Intel Pro Wireless firmware because Intel requires users to accept a EULA.

If it's included in Fedora then there are zero issues with licenses.

#4 lore raw
Quoted 27 lines · Xose Vazquez Perez
Quoted 2 lines · Ben Hutchings

These files aren't used by the Ralink drivers. So why should you believe the labels on them?

Because the hardware manufacturer says that:
http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003380.html

Anyway, the firmware in staging(or ralink web) drivers look different because they are different _versions_ of the _same_ firmware.

rt2870.bin: before 4096 bytes, now 8192 bytes.

Quoted 2 lines

linux-firmware is not *actively* maintained; it requires people to send submissions (repeatedly...).

On 04/06/2010, *ONE YEAR AGO* , I sent a patch to rt2870.bin rt2860.bin. It went to /dev/null

A similar patch was sent by the *driver maintainer* on 10/30/2010. It went to /dev/null

The same patch was sent by the *hardware manufacturer* on 03/11/2011 It went to /dev/null

Torvalds, Mozart and God are pending.

Quoted 8 lines
Quoted 2 lines

I think there may be a problem with distribution of Intel Pro Wireless firmware because Intel requires users to accept a EULA.

If it's included in Fedora then there are zero issues with licenses. --
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Do you still have the patch from one year ago? I would like to see what you proposed in changes to WHENCE.

Larry

#5 lore raw
#6 lore raw
Quoted 4 lines · Xose Vazquez Perez
Quoted 1 line · Larry Finger

Do you still have the patch from one year ago? I would like to see what you proposed in changes to WHENCE.

Quoted 8 lines

Déjà vu

me: http://marc.info/?l=linux-wireless&m=129798073407070&w=2

ivo: http://marc.info/?l=linux-wireless&m=128844402626603&w=2

ralink: http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003381.html

         http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003382.html

I still don't see any problem with the patch that you supplied. The contribution from Ivo and Ralink did not update WHENCE.

I pulled the binary files from the Ralink submission and have entered them into my copy of linux-firmware. I need to test that 2860.bin will work with my RT3090. Do you have a device that uses rt2800usb?

Larry

#7 lore raw

Firmware for rt2800pci and rt2800usb

In reply to Xose Vazquez Perez

Hi,

I am in the process of updating the firmware files for rt2800pci and rt2800usb. If you have one of the devices that use this driver, please test the firmware file.

Thanks,

Larry

#8 lore raw

Re: Firmware for rt2800pci and rt2800usb

Quoted 10 lines · Larry Finger

Hi,

I am in the process of updating the firmware files for rt2800pci and rt2800usb. If you have one of the devices that use this driver, please test the firmware file.

Thanks,

Larry

Using the firmware here on an Azurewave AW-NU706H. Multiple machines (Genesi EfikaMX Smartbook and Smarttops) without any issues.

Signature · 2 lines
Steev Klimaszewski <[email protected]>
Senior Software Engineer, Genesi USA, Inc.
#9 lore raw

Re: Firmware for rt2800pci and rt2800usb

In reply to Larry Finger
Quoted 6 lines · Larry Finger

Hi,

I am in the process of updating the firmware files for rt2800pci and rt2800usb. If you have one of the devices that use this driver, please test the firmware file.

Cannot test these specific files right now, but Ralink does provide firmware files
under these names that support all known devices supported by rt2800pci and rt2800usb (if they are recent enough).
Back home I'm using slightly older versions of the firmware files on all devices that I have (which does span RT2860 PCI, RT3090 PCIe, RT3562 PCI (driving not working), RT2870, RT2070, RT3070, RT3071, RT3072, RT3370, RT3572 (driver not working)).

Where did you get these specific files from?

I recommend using the ones that Ralink sent for inclusion in the since these will
support even the newest devices (RT5370/RT5390).

---
Gertjan

#10 lore raw

Re: Firmware for rt2800pci and rt2800usb

Quoted 17 lines · Gertjan van Wingerde
Quoted 6 lines · Larry Finger

Hi,

I am in the process of updating the firmware files for rt2800pci and rt2800usb. If you have one of the devices that use this driver, please test the firmware file.

Cannot test these specific files right now, but Ralink does provide firmware files
under these names that support all known devices supported by rt2800pci and rt2800usb (if they are recent enough).
Back home I'm using slightly older versions of the firmware files on all devices that I have (which does span RT2860 PCI, RT3090 PCIe, RT3562 PCI (driving not working), RT2870, RT2070, RT3070, RT3071, RT3072, RT3370, RT3572 (driver not working)).

Quoted 5 lines

Where did you get these specific files from?

I recommend using the ones that Ralink sent for inclusion in the since these will
support even the newest devices (RT5370/RT5390).

They came from
http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003381.html

and

http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003382.html.

These were the Ralink submissions to linux-firmware that did not get accepted or rejected.

Once ralinktech.com.tw comes back up, I will grab the files from there and make a comparison.

Larry

#11 lore raw

Re: Firmware for rt2800pci and rt2800usb

Quoted 37 lines · Larry Finger
Quoted 25 lines · Gertjan van Wingerde
Quoted 8 lines · Larry Finger

Hi,

I am in the process of updating the firmware files for rt2800pci and rt2800usb. If you have one of the devices that use this driver, please test
the firmware file.

Cannot test these specific files right now, but Ralink does provide firmware files
under these names that support all known devices supported by rt2800pci and
rt2800usb (if they are recent enough).
Back home I'm using slightly older versions of the firmware files on all devices
that I have (which does span RT2860 PCI, RT3090 PCIe, RT3562 PCI (driving not
working), RT2870, RT2070, RT3070, RT3071, RT3072, RT3370, RT3572 (driver not
working)).

Quoted 5 lines

Where did you get these specific files from?

I recommend using the ones that Ralink sent for inclusion in the since these will
support even the newest devices (RT5370/RT5390).

They came from
http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003381.html

and

Quoted 8 lines

http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003382.html.

These were the Ralink submissions to linux-firmware that did not get accepted or rejected.

Once ralinktech.com.tw comes back up, I will grab the files from there and make a comparison.

Ok. Thanks. These would be the correct files. The ones on ralinktech.com are probably outdated,
as Ralink doesn't seem to be that diligent to update the firmware that can be downloaded from their
web-site as new versions come out. Usually the latest versions of the firmware are included in the
newer versions of the Linux drivers they post on their website.

---
Gertjan

#12 lore raw

Re: Firmware for rt2800pci and rt2800usb

In reply to Larry Finger

Hi,

Quoted 6 lines · Larry Finger

They came from
http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003381.html

and

Quoted 7 lines

http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003382.html.

These were the Ralink submissions to linux-firmware that did not get accepted or rejected.

Once ralinktech.com.tw comes back up, I will grab the files from there and make a comparison.

I had asked Ralink guys in private mail a while ago and they said the files on ralinktech.com.tw are older. The current versions are those posted for linux-firmware. (Actually I complained because each of the driver packages contains a different version of the firmware, it's not very clear which one is the latest one on the Ralink download site.)

Also, if you look at rt2800_check_firmware(), it seems some of the firmware files are actually multiple different firmware images packaged in one file. I think this makes versioning even more confusing.

Johannes

#13 lore raw

Re: Firmware for rt2800pci and rt2800usb

In reply to Larry Finger

Hi,

Quoted 6 lines · Larry Finger

Hi,

I am in the process of updating the firmware files for rt2800pci and rt2800usb. If you have one of the devices that use this driver, please test the firmware file.

Tested rt2870.bin on vid=07b8 pid=3071 in AP mode using HostAPD, up to now, no problems found.

Quoted 4 lines

Thanks,

Larry

Signature · 2 lines
________________________________
Juan Carlos Garza
#14 lore raw

Re: Firmware for rt2800pci and rt2800usb

Quoted 6 lines · Juan Carlos Garza

Hi,

Quoted 2 lines · Larry Finger

Hi,

Quoted 7 lines
Quoted 4 lines

I am in the process of updating the firmware files for rt2800pci and rt2800usb. If you have one of the devices that use this driver, please test the firmware file.

Tested rt2870.bin on vid=07b8 pid=3071 in AP mode using HostAPD, up to now, no problems found.

Could people report versions or md5sums rather than just filenames, please?

Ben.

Signature · 2 lines
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
#15 lore raw

Re: Firmware for rt2800pci and rt2800usb

Hi, here the MD5...

Quoted 12 lines · Ben Hutchings
Quoted 11 lines · Juan Carlos Garza

Hi,

Quoted 6 lines · Larry Finger

Hi,

I am in the process of updating the firmware files for rt2800pci and rt2800usb. If you have one of the devices that use this driver, please test the firmware file.

Quoted 5 lines
Quoted 2 lines

Tested rt2870.bin on vid=07b8 pid=3071 in AP mode using HostAPD, up to now, no problems found.

Could people report versions or md5sums rather than just filenames, please?

36c944c3138125605d28c0a3a1338be9 rt2870.bin

The version was not specified and I don't know how to extract it.

Quoted 7 lines

Ben.

--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.

Signature · 1 line
Juan Carlos Garza
#16 lore raw

Re: Firmware for rt2800pci and rt2800usb

In reply to Ben Hutchings
Quoted 12 lines · Ben Hutchings
Quoted 11 lines · Juan Carlos Garza

Hi,

Quoted 6 lines · Larry Finger

Hi,

I am in the process of updating the firmware files for rt2800pci and rt2800usb. If you have one of the devices that use this driver, please test the firmware file.

Quoted 5 lines
Quoted 2 lines

Tested rt2870.bin on vid=07b8 pid=3071 in AP mode using HostAPD, up to now, no problems found.

Could people report versions or md5sums rather than just filenames, please?

I think we can safely assume that these testing reports are on the files that I sent yesterday, but for completeness the md5sums are

75a1da3caa0b1c95e81dfba207f834c6 rt2860.bin
36c944c3138125605d28c0a3a1338be9 rt2870.bin

The version numbers are 34.00 for rt2860.bin and 29.00 for rt2870.bin.

Larry

#17 lore raw

Re: Firmware for rt2800pci and rt2800usb

In reply to Larry Finger
Quoted 4 lines · Larry Finger

I am in the process of updating the firmware files for rt2800pci and rt2800usb.
If you have one of the devices that use this driver, please test the firmware file.

Tested with the following device and rt2800usb driver from kernel 2.6.38:

Bus 001 Device 002: ID 148f:3071 Ralink Technology, Corp. RT3071 Wireless Adapter

e4b60f5bb4980a26cbac32be690451d6 rt2870.bin (from linux-firmware tree) phy0 -> rt2x00lib_request_firmware: Error - Current firmware does not support detected chipset.

a18579be68e02caf3c879407fd8e5b82 rt2870.bin (from RT2870_Firmware_V8.zip) phy0 -> rt2x00lib_request_firmware: Error - Current firmware does not support detected chipset.

cfc8663dc0c671f1cf022c791b2f1283 rt2870.bin (from 2009_0820_RT2870_Linux_STA_V2.2.0.0.tar.bz2) Works

36c944c3138125605d28c0a3a1338be9 rt2870.bin (from your email) Works

Best regards,
Chí-Thanh Christopher Nguyễn