EmbeddedRelated.com
Forums

wifi module

Started by Dimiter_Popoff September 1, 2014
Has anyone had any luck locating some wifi module which is simple, i.e.
does not want to do all the tcp/ip, just move packets ethernet like?
A documented one, that is.
There is a USB class "ethernet emulation" or sort of, any chances
there is some wifi module being that and thus perhaps being usable for
non-politbureau members (i.e. PC/phone makers)?
Obviously I am looking for something more or less up to date, a/b/g/n,
e.g. a cheap tablet my wife has can do 65MbpS over wifi, at least that
fast.

Thanks,

Dimiter

------------------------------------------------------
Dimiter Popoff, TGI             http://www.tgi-sci.com
------------------------------------------------------
http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/



On Monday, September 1, 2014 2:24:18 PM UTC-7, dp wrote:
> Has anyone had any luck locating some wifi module which is simple, i.e. does not want to do all the tcp/ip, just move packets ethernet like? A documented one, that is. There is a USB class "ethernet emulation" or sort of, any chances there is some wifi module being that and thus perhaps being usable for non-politbureau members (i.e. PC/phone makers)? > > Obviously I am looking for something more or less up to date, a/b/g/n, e.g. a cheap tablet my wife has can do 65MbpS over wifi, at least that fast. > > Thanks,
I assume that you are trying to use a micro for Wifi client and have some control over the Access Point. To do so, you much simplify the protocols. Getting the Wifi module is not diffiult. Getting USB interface is not difficult, since most of them are USB anyway. However, dealing with channel athenication is difficult. My suggestions are: 1. Using fixed channel 1 or 11 (or even non-standard 0 and 12 if possible). That would avoid interferences with standard Wifi devices. The micto client would not have to roam and hunt for the right channel. 2. Using fixed MAC address, You can definite a limited subset of MAC address. Your AP will only response to such address and perhaps with a PIN 3. Strip the Wifi driver and remove the necessary parts (i.e. PCI, PCIe, etc) and features (WPA, WEO, etc). The driver should fit in around 1M bytes flash.
On 02.9.2014 г. 16:51, edward.ming.lee@gmail.com wrote:
> On Monday, September 1, 2014 2:24:18 PM UTC-7, dp wrote: >> Has anyone had any luck locating some wifi module which is simple, >> i.e. does not want to do all the tcp/ip, just move packets ethernet >> like? A documented one, that is. There is a USB class "ethernet >> emulation" or sort of, any chances there is some wifi module being >> that and thus perhaps being usable for non-politbureau members >> (i.e. PC/phone makers)? >> >> Obviously I am looking for something more or less up to date, >> a/b/g/n, e.g. a cheap tablet my wife has can do 65MbpS over wifi, >> at least that fast. >> >> Thanks, > > I assume that you are trying to use a micro for Wifi client and have > some control over the Access Point. To do so, you much simplify the > protocols.
Well while "micro" is correct - an MPC5200B - the system is a fullblown OS, I want to be able to write the drivers for a wifi module. The only thing I don't know is how to talk to the module, i.e. its command set.
> > Getting the Wifi module is not diffiult. Getting USB interface is > not difficult, since most of them are USB anyway. However, dealing > with channel athenication is difficult. My suggestions are:
I don't mind the "difficult" part, as long as I do not have to go into reverse engineering.
> > 1. Using fixed channel 1 or 11 (or even non-standard 0 and 12 if > possible). That would avoid interferences with standard Wifi > devices. The micto client would not have to roam and hunt for the > right channel. > > 2. Using fixed MAC address, You can definite a limited subset of MAC > address. Your AP will only response to such address and perhaps with > a PIN > > 3. Strip the Wifi driver and remove the necessary parts (i.e. PCI, > PCIe, etc) and features (WPA, WEO, etc). > > The driver should fit in around 1M bytes flash. >
There will be no "driver" other than what I will have written. There may be some piece of firmware which has to be uploaded to the module by my driver upon initialization etc. but that is OK as long ass I have the information how this is to be done. Do you know whether some USB wifi dongles are known well enough so one can do that? I have seen quite a list of "compatible devices" for the raspberry board, this should mean things may be doable after all - unless they all come with some "binaries" written by the manufacturer. Do you know how this works? Thanks, Dimiter ------------------------------------------------------ Dimiter Popoff, TGI http://www.tgi-sci.com ------------------------------------------------------ http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/
> Well while "micro" is correct - an MPC5200B - the system is a fullblown OS, I want to be able to write the drivers for a wifi module. The only thing I don't know is how to talk to the module, i.e. its command set.
Can you compile with Linux drivers? Certain Wifi chips are well supported in Linux.
> > Getting the Wifi module is not difficult. Getting USB interface is not difficult, since most of them are USB anyway. However, dealing with channel authentication is difficult. My suggestions are: > > I don't mind the "difficult" part, as long as I do not have to go into reverse engineering. > > > 1. Using fixed channel 1 or 11 (or even non-standard 0 and 12 if possible). That would avoid interferences with standard Wifi devices. The micro client would not have to roam and hunt for the right channel. > > > 2. Using fixed MAC address, You can definite a limited subset of MAC address. Your AP will only response to such address and perhaps with a PIN > > > 3. Strip the Wifi driver and remove the necessary parts (i.e. PCI, PCIe, etc) and features (WPA, WEP, etc). > > > The driver should fit in around 1M bytes flash. > > There will be no "driver" other than what I will have written. There may be some piece of firmware which has to be uploaded to the module by my driver upon initialization etc. but that is OK as long ass I have the information how this is to be done. > > Do you know whether some USB wifi dongles are known well enough so one can do that? I have seen quite a list of "compatible devices" for the raspberry board, this should mean things may be doable after all - unless they all come with some "binaries" written by the manufacturer. > > Do you know how this works?
Pick one chip and stick with it. Avoid Broadcom at all cost. (binary drivers) Avoid Realtek if possible. (outdated drivers) Athereo is well supported. Universal driver (PCI, PCIe and USB) is around 1.5M. My AP (PCIe less USB) is 1M and my client side (USB less PCI*) is 1M. Haven't done other than stripping the drivers yet. I replaced all my HP laptops (came with Broadcom) with Athereo PCIe. Unfortunately, HP is very picky about foreign hardware, but that's a different story.
On 02.9.2014 г. 17:54, edward.ming.lee@gmail.com wrote:
> >> Well while "micro" is correct - an MPC5200B - the system is a >> fullblown OS, I want to be able to write the drivers for a wifi >> module. The only thing I don't know is how to talk to the module, >> i.e. its command set. > > Can you compile with Linux drivers? Certain Wifi chips are well > supported in Linux.
No but if all related sources are available for linux or whatever I can just read what I need in them.
> >>> Getting the Wifi module is not difficult. Getting USB interface >>> is not difficult, since most of them are USB anyway. However, >>> dealing with channel authentication is difficult. My suggestions >>> are: >> >> I don't mind the "difficult" part, as long as I do not have to go >> into reverse engineering. >> >>> 1. Using fixed channel 1 or 11 (or even non-standard 0 and 12 if >>> possible). That would avoid interferences with standard Wifi >>> devices. The micro client would not have to roam and hunt for >>> the right channel. >> >>> 2. Using fixed MAC address, You can definite a limited subset of >>> MAC address. Your AP will only response to such address and >>> perhaps with a PIN >> >>> 3. Strip the Wifi driver and remove the necessary parts (i.e. >>> PCI, PCIe, etc) and features (WPA, WEP, etc). >> >>> The driver should fit in around 1M bytes flash. >> >> There will be no "driver" other than what I will have written. >> There may be some piece of firmware which has to be uploaded to the >> module by my driver upon initialization etc. but that is OK as long >> ass I have the information how this is to be done. >> >> Do you know whether some USB wifi dongles are known well enough so >> one can do that? I have seen quite a list of "compatible devices" >> for the raspberry board, this should mean things may be doable >> after all - unless they all come with some "binaries" written by >> the manufacturer. >> >> Do you know how this works? > > Pick one chip and stick with it. > > Avoid Broadcom at all cost. (binary drivers) Avoid Realtek if > possible. (outdated drivers)
I am actually hoping that if a USB dongle behaves as an "Ethernet emulation" device I will not have to deal a lot with what chip is inside it. Some firmware upload could well be chip specific but not much more than that, the rest the thing does is fairly standard... unless made on purpose non-standard, of course.
> > Athereo is well supported. Universal driver (PCI, PCIe and USB) is > around 1.5M. My AP (PCIe less USB) is 1M and my client side (USB > less PCI*) is 1M. Haven't done other than stripping the drivers > yet.
What do you mean by "stripping the drivers"? Drivers normally are are OS specific - if you use their OS specific part (for linux, windows, whatever) chances are it will not be usable for me (under dps). Or do you just strip the "firmware to be uploaded" part? Thanks, Dimiter ------------------------------------------------------ Dimiter Popoff, TGI http://www.tgi-sci.com ------------------------------------------------------ http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/
> > Can you compile with Linux drivers? Certain Wifi chips are well supported in Linux. > > No but if all related sources are available for linux or whatever I can just read what I need in them.
Yes, it's in latest kernel. 3.16 or 3.15 (I am using).
> >> Do you know whether some USB wifi dongles are known well enough so one can do that? I have seen quite a list of "compatible devices" for the raspberry board, this should mean things may be doable after all - unless they all come with some "binaries" written by the manufacturer.
Most of the smaller USB dongles are Realtek chips. They might work with older kernels, but not latest. It would be hard to fit the latest kernel in raspberry pie anyway, so it might not matter.
> I am actually hoping that if a USB dongle behaves as an "Ethernet emulation" device I will not have to deal a lot with what chip is inside it. Some firmware upload could well be chip specific but not much more than that, the rest the thing does is fairly standard... unless made on purpose non-standard, of course.
No, you can't. Lots of standard 802.11 stuffs are not Ethernet related. Calling it Wireless Ethernet is over-simplification.
On 02.9.2014 г. 19:08, edward.ming.lee@gmail.com wrote:
> >>> Can you compile with Linux drivers? Certain Wifi chips are well >>> supported in Linux. >> >> No but if all related sources are available for linux or whatever I >> can just read what I need in them. > > Yes, it's in latest kernel. 3.16 or 3.15 (I am using). > >>>> Do you know whether some USB wifi dongles are known well enough >>>> so one can do that? I have seen quite a list of "compatible >>>> devices" for the raspberry board, this should mean things may >>>> be doable after all - unless they all come with some "binaries" >>>> written by the manufacturer. > > Most of the smaller USB dongles are Realtek chips. They might work > with older kernels, but not latest. It would be hard to fit the > latest kernel in raspberry pie anyway, so it might not matter.
There is no raspberry involved, I mentioned it only because I had found the list of "compatible adaptors" for it. I have never had one in my hands actually.
> >> I am actually hoping that if a USB dongle behaves as an "Ethernet >> emulation" device I will not have to deal a lot with what chip is >> inside it. Some firmware upload could well be chip specific but not >> much more than that, the rest the thing does is fairly standard... >> unless made on purpose non-standard, of course. > > No, you can't. Lots of standard 802.11 stuffs are not Ethernet > related. Calling it Wireless Ethernet is over-simplification. >
I understand that plenty of the radio related part would be new/different. But moving packets can be made look the same for the host, hence my query. Do you know whether some of the USB wifi dongles do behave as "Ethernet emulation" devices (although there may well be more to them than that)? Alternatively, do you know that most/all USB wifi dongles are not "Ethernet emulation" class devices? Basically this is the very first info I am looking for, once I know that I can take it from there or drop USB wifi I suppose. Thanks, Dimiter ------------------------------------------------------ Dimiter Popoff, TGI http://www.tgi-sci.com ------------------------------------------------------ http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/
> >> I am actually hoping that if a USB dongle behaves as an "Ethernet emulation" device I will not have to deal a lot with what chip is inside it. Some firmware upload could well be chip specific but not much more than that, the rest the thing does is fairly standard... > > >> unless made on purpose non-standard, of course.
> > No, you can't. Lots of standard 802.11 stuffs are not Ethernet related. Calling it Wireless Ethernet is over-simplification. > > I understand that plenty of the radio related part would be new/different. But moving packets can be made look the same for the host, hence my query.
Moving packet is only a very small part of the driver function. You have to do all kind of wireless setup before moving a packet.
> Do you know whether some of the USB wifi dongles do behave as "Ethernet emulation" devices (although there may well be more to them than that)?
The closest I can think of is that they support driver in USB CDC/ACM packet mode. But internally, the driver is still talking at the register level. Lots of configurations are done via wireless extension, which is not in standard Ethernet drivers. BTW, the Realtek driver is not supporting wireless extension properly, or supporting the wrong version.