Author Topic: PCIe mini for embedded system?  (Read 5514 times)

0 Members and 1 Guest are viewing this topic.

Offline tszabooTopic starter

  • Super Contributor
  • ***
  • Posts: 9456
  • Country: nl
  • Current job: ATEX product design
PCIe mini for embedded system?
« on: January 10, 2018, 09:31:15 am »
I'm have a task to connect an embedded computer to Wifi.
The computer has a ARM11 CPU, running Linux, on a custom board.
The previous design was using a RTL8188 module, which became obsolete.

I am searching for a replacement module. The exact chipset is not that important, the Kernel supports many type. But I am having trouble finding a module with easy replacement. To make things "easy", I dont have a free SDIO interface, so it needs to be UART or USB 2.0. Then I thought about mini PCI-e.
The CPU does not support PCIe of course, but the connector has USB 2.0 and many modules only use the  USB interface to connect to the host.

Now, I am sure this should work, but I am still asking for your help.
Did anyone design a system like this? Is there anything to look for, like which of the extra signals are necessary to connect? Do you know a reputable manufacturer selling these modules? Is there any application note you can suggest?

Thank you!
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3508
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: PCIe mini for embedded system?
« Reply #1 on: January 10, 2018, 10:14:27 am »
How do you feel about having an internal USB-A connector? This way you can just plug in the cheap USB Wi-Fi adapter of the week in there and call it a day. In fact an internal USB connector can even allow wired Ethernet variants using cheap USB-Ethernet adapters.

Or if the speed is not critical, there is always ESP8266 (via serial) or SDIO over SPI available.
 

Offline tszabooTopic starter

  • Super Contributor
  • ***
  • Posts: 9456
  • Country: nl
  • Current job: ATEX product design
Re: PCIe mini for embedded system?
« Reply #2 on: January 10, 2018, 10:24:34 am »
I am considering the internal USB, but I am exploring other options, such as this.
This goes on an addon card, and I dont have SPI (or SDIO) on it. I have UART, USB, I2C and some GPIO.

I dont know about the ESP8266. As far as I see, there isnt a firmware for it with PPP. Speed is not crucial. But it should be straight forward, without in house driver development. Searching for the ESP8266 with Linux is also impossible, since the web was spammed with projects.
 

Offline llkiwi2006

  • Regular Contributor
  • *
  • Posts: 105
  • Country: nz
Re: PCIe mini for embedded system?
« Reply #3 on: January 10, 2018, 10:32:11 am »
Or if the speed is not critical, there is always ESP8266 (via serial) or SDIO over SPI available.

Just curious, are there Linux drivers available for that? It would be a pain to write your own.
 

Offline tszabooTopic starter

  • Super Contributor
  • ***
  • Posts: 9456
  • Country: nl
  • Current job: ATEX product design
Re: PCIe mini for embedded system?
« Reply #4 on: January 10, 2018, 11:59:35 am »
Or if the speed is not critical, there is always ESP8266 (via serial) or SDIO over SPI available.

Just curious, are there Linux drivers available for that? It would be a pain to write your own.
https://en.wikibooks.org/wiki/Serial_Programming/IP_Over_Serial_Connections
Technically PPP is capable of doing just that. For example all the GSM/3G modems are using this method with some serial software multiplexing (for data/control). Something for Wifi is surely available. But I dont think it is worth the effort, unless your budget doesn't allow anything else.
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: PCIe mini for embedded system?
« Reply #5 on: January 10, 2018, 12:55:17 pm »
The previous design was using a RTL8188 module, which became obsolete.

I would simply seek for RTL8188 successor, like RTL8192. Other manufacturers offer USB WiFi ICs as well. You shall contact your IC supplier and ask him to search for replacement IC offers. Obviously there are loads of various non-USB WiFi chips, but such needs extra development/integration in your case:

http://www.ti.com/wireless-connectivity/wi-fi/overview.html
 

Offline tszabooTopic starter

  • Super Contributor
  • ***
  • Posts: 9456
  • Country: nl
  • Current job: ATEX product design
Re: PCIe mini for embedded system?
« Reply #6 on: January 10, 2018, 02:49:21 pm »
The previous design was using a RTL8188 module, which became obsolete.

I would simply seek for RTL8188 successor, like RTL8192. Other manufacturers offer USB WiFi ICs as well. You shall contact your IC supplier and ask him to search for replacement IC offers. Obviously there are loads of various non-USB WiFi chips, but such needs extra development/integration in your case:

http://www.ti.com/wireless-connectivity/wi-fi/overview.html
TI doesnt have USB-Wifi in their portfolio. And I'm not looking for IC solutions, only module. With CE, FCC certification of course.
 

Online NiHaoMike

  • Super Contributor
  • ***
  • Posts: 9684
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: PCIe mini for embedded system?
« Reply #7 on: January 10, 2018, 03:59:50 pm »
Just get an off the shelf Wifi adapter, make an adapter board for it, and call it done.
Cryptocurrency has taught me to love math and at the same time be baffled by it.
Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
BTC: 18813fu8LQEdDwH9YLM1ABed3XwCfeSeFi
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: PCIe mini for embedded system?
« Reply #8 on: January 10, 2018, 04:19:42 pm »
Just get an off the shelf Wifi adapter, make an adapter board for it, and call it done.

Right. Just USB socket on the board needed, that's it. + Maybe some locking contraption for better vibration resistance.

TI doesnt have USB-Wifi in their portfolio.

I didn't say they have.

Well... then check SiLabs module with USB, as you wish:

https://www.silabs.com/products/wireless/wi-fi/wgm110-wizard-gecko-module

Or Lantronix:

http://www.lantronix.com/products/premierwave2050/

Hint: I used mouser.com search engine. Theres more USB wifi modules:

https://eu.mouser.com/Embedded-Solutions/RF-Wireless-Modules/WiFi-80211-Modules/_/N-6l7qa/
« Last Edit: January 10, 2018, 04:31:09 pm by ogden »
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3508
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: PCIe mini for embedded system?
« Reply #9 on: January 10, 2018, 04:57:39 pm »
I am considering the internal USB, but I am exploring other options, such as this.
This goes on an addon card, and I dont have SPI (or SDIO) on it. I have UART, USB, I2C and some GPIO.

I dont know about the ESP8266. As far as I see, there isnt a firmware for it with PPP. Speed is not crucial. But it should be straight forward, without in house driver development. Searching for the ESP8266 with Linux is also impossible, since the web was spammed with projects.
For any kind of networking you don't have to write an in-kernel driver, as you can do it in the user mode using tun/tap as the in-kernel part. (Actually this tun/tap method is also common for VPN software.) You can use the standard "AT command set" firmware or create your own for ESP8266, and write a user mode daemon that takes that serial port, speaks that protocol, and presents a tun/tap interface to the kernel. The same goes if you decided to put ESP8266 on I2C.

There is SC18IS602B that is a I2C slave to SPI master chip. Then put the SDIO Wi-Fi module into SPI mode and win. And if you have four spare GPIO, there is a Linux kernel driver that fabricates a bit banged SPI port out of GPIOs too.

The best solution AFAIK is still either internal USB dongles. Wi-Fi mini-PCIe cards or M.2 cards often expose Wi-Fi over PCIe for the sake of performance, which is not what you need here.

Another idea is actually a CPU swap to something like MT7688. That is actually a MIPS wireless router chipset, but it runs Linux and have built-in 2.4GHz Wi-Fi. (Actually it even have a PCIe x1 root complex available. Technically you can even have a full featured PCIe/SATA/USB M.2 slot on this thing.)
 

Offline tszabooTopic starter

  • Super Contributor
  • ***
  • Posts: 9456
  • Country: nl
  • Current job: ATEX product design
Re: PCIe mini for embedded system?
« Reply #10 on: January 11, 2018, 11:26:21 am »
For any kind of networking you don't have to write an in-kernel driver, as you can do it in the user mode using tun/tap as the in-kernel part. (Actually this tun/tap method is also common for VPN software.) You can use the standard "AT command set" firmware or create your own for ESP8266, and write a user mode daemon that takes that serial port, speaks that protocol, and presents a tun/tap interface to the kernel. The same goes if you decided to put ESP8266 on I2C.
I would like to avoid any kind of coding for this project. There is just no time for that, besides, it is not fun. Maximum is some bash script to configure stuff.

There is SC18IS602B that is a I2C slave to SPI master chip. Then put the SDIO Wi-Fi module into SPI mode and win. And if you have four spare GPIO, there is a Linux kernel driver that fabricates a bit banged SPI port out of GPIOs too.
Well, I'm sure both solutions could work in theory. In reality? There are some timing requirements when making a wifi connection, and I'm not sure if a 400Khz I2C or an unknown speed bit-banging would be sufficient for that.
Wi-Fi mini-PCIe cards or M.2 cards often expose Wi-Fi over PCIe for the sake of performance, which is not what you need here.
And often not. I've found Wifi cards with the RTL8188 on it, which clearly dont have PCIe. I'm actually wondering, if majority of cards use the PICe or the USB.

Another idea is actually a CPU swap to something like MT7688. That is actually a MIPS wireless router chipset, but it runs Linux and have built-in 2.4GHz Wi-Fi. (Actually it even have a PCIe x1 root complex available. Technically you can even have a full featured PCIe/SATA/USB M.2 slot on this thing.)
That would be a year long project. I would rather free up an SDIO interface on the board. You know, if it works, dont change it.

Hint: I used mouser.com search engine. Theres more USB wifi modules:
Good thing I haven't thought about that. No, really, please stop, you are not helping. This is what SiLabs tells you about your magic module:
"in general using WGM110 as a network interface in Linux is not possible. "
 

Offline Gribo

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: ca
Re: PCIe mini for embedded system?
« Reply #11 on: January 11, 2018, 01:20:51 pm »
What about a UART to WIFI module? There are few out there, from Digilent, Lantronix and others. They are expansive though (around 35USD, last I checked)
I am available for freelance work.
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 3460
  • Country: gb
Re: PCIe mini for embedded system?
« Reply #12 on: January 11, 2018, 01:33:48 pm »
If you use a PCIe connector system you can still adapt back to use a standard USB WiFi adapter. So it keeps your options open.
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 3460
  • Country: gb
Re: PCIe mini for embedded system?
« Reply #13 on: January 11, 2018, 01:47:54 pm »
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: PCIe mini for embedded system?
« Reply #14 on: January 11, 2018, 02:07:04 pm »
Hint: I used mouser.com search engine. Theres more USB wifi modules:
Good thing I haven't thought about that.

It seemed so.  :-DD

Quote
No, really, please stop, you are not helping.

Oh, this is how you say "thank you"? Sounds like "f** u for investing your time".

Next time do your homework and mention that you looked for modules and they do not fit for this or that reason. Coming completely blank and just saying "give me solution" can give unexpected (to you) results.

Have at least good attitude, man.
 

Offline tszabooTopic starter

  • Super Contributor
  • ***
  • Posts: 9456
  • Country: nl
  • Current job: ATEX product design
Re: PCIe mini for embedded system?
« Reply #15 on: January 11, 2018, 05:46:41 pm »
Oh, this is how you say "thank you"? Sounds like "f** u for investing your time".

Next time do your homework and mention that you looked for modules and they do not fit for this or that reason. Coming completely blank and just saying "give me solution" can give unexpected (to you) results.

Have at least good attitude, man.
You know, it is one of those questions:
"Do you guys know, which tourque setting do I use on a 30mm long M3 DIN912 screw?"
"Oh, just use a flat screwdriver. Its gonna be fine here is a link for one"

None of what you linked has anything to do with Linux supported Wifi Network interface cards. What you linked are standalone micros with wifi and built in stack. I dont need those. Understand the question first please.

Hah, didn't realise the reverse is also true...

https://www.aliexpress.com/item/Mini-PCIe-To-USB-Adapter-for-3G-4G-WWAN-and-WiFi-USB-Type-Card-Mini-PCI/32791282970.html
I already ordered a card like this for evaluation ans some reverse engineering.
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: PCIe mini for embedded system?
« Reply #16 on: January 11, 2018, 07:03:29 pm »
None of what you linked has anything to do with Linux supported Wifi Network interface cards.

At least Lantronix xPico which is listed in mouser.com offering I linked, have something to do with Linux: "The USB interface of the xPico Wi-Fi is a device-side, Full speed (12Mbps) port. When plugged into a USB Host, it will enumerate as a RNDIS Ethernet device.". Yes it is expensive and I would not pick it in your place, but whatever. I also mentioned possible solution to put USB socket on the board, "embed" WiFI USB dongle internally. Some products could be completely ok with such solution, dunno about yours.

Put something like this *into* your product, if it becomes obsolete then there will be other USB WiFi dongle available for sure:

https://www.amazon.com/300Mbps-Realtek-RTL8192CU-Chipset-Wireless/dp/B00GYQXDQW
« Last Edit: January 11, 2018, 07:06:25 pm by ogden »
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: PCIe mini for embedded system?
« Reply #17 on: January 11, 2018, 07:16:45 pm »
You know, it is one of those questions:
"Do you guys know, which tourque setting do I use on a 30mm long M3 DIN912 screw?"
"Oh, just use a flat screwdriver. Its gonna be fine here is a link for one"

You know, when you go to place where 99% of the public are amateurs, then you shall be ready to get exactly such kind of answers. Especially in case when 99% of other discussions are regarding flat screwdrivers, not torque settings.

Don't blame us who answered you because initially you did say "I dont have a free SDIO interface, so it needs to be UART or USB 2.0". Then you wake-up and say that you do not want extra development, so all modules with UART (obviously w/o Linux support) are off the list. Whatta...  |O
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3508
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: PCIe mini for embedded system?
« Reply #18 on: January 12, 2018, 10:50:52 am »
For any kind of networking you don't have to write an in-kernel driver, as you can do it in the user mode using tun/tap as the in-kernel part. (Actually this tun/tap method is also common for VPN software.) You can use the standard "AT command set" firmware or create your own for ESP8266, and write a user mode daemon that takes that serial port, speaks that protocol, and presents a tun/tap interface to the kernel. The same goes if you decided to put ESP8266 on I2C.
I would like to avoid any kind of coding for this project. There is just no time for that, besides, it is not fun. Maximum is some bash script to configure stuff.

There is SC18IS602B that is a I2C slave to SPI master chip. Then put the SDIO Wi-Fi module into SPI mode and win. And if you have four spare GPIO, there is a Linux kernel driver that fabricates a bit banged SPI port out of GPIOs too.
Well, I'm sure both solutions could work in theory. In reality? There are some timing requirements when making a wifi connection, and I'm not sure if a 400Khz I2C or an unknown speed bit-banging would be sufficient for that.
Wi-Fi mini-PCIe cards or M.2 cards often expose Wi-Fi over PCIe for the sake of performance, which is not what you need here.
And often not. I've found Wifi cards with the RTL8188 on it, which clearly dont have PCIe. I'm actually wondering, if majority of cards use the PICe or the USB.

Another idea is actually a CPU swap to something like MT7688. That is actually a MIPS wireless router chipset, but it runs Linux and have built-in 2.4GHz Wi-Fi. (Actually it even have a PCIe x1 root complex available. Technically you can even have a full featured PCIe/SATA/USB M.2 slot on this thing.)
That would be a year long project. I would rather free up an SDIO interface on the board. You know, if it works, dont change it.

Hint: I used mouser.com search engine. Theres more USB wifi modules:
Good thing I haven't thought about that. No, really, please stop, you are not helping. This is what SiLabs tells you about your magic module:
"in general using WGM110 as a network interface in Linux is not possible. "
Without coding the RTL8188 USB dongles are likely your best shot.

I haven't seen any USB-only PCIe Wi-Fi modules - all of them uses PCIe for Wi-Fi and USB for bluetooth.
 

Offline ChristopherN

  • Supporter
  • ****
  • Posts: 152
  • Country: de
    • app22 UG (haftungsbeschränkt)
Re: PCIe mini for embedded system?
« Reply #19 on: January 12, 2018, 03:11:53 pm »
Hi NANDBlog

there are modules that use USB Interfaces and plug via PIN Header:
https://www.acmesystems.it/WIFI-2
https://www.acmesystems.it/www/WIFI-2_documentation/GWF-3M08-Datasheet.pdf

http://www.seco.com/prods/de/kit-wifi-3m08-1.html
http://en.ogemray.com/product/product.php?t=3M08

There are versions with CE, FCC and RED certifications.

Christopher
« Last Edit: January 13, 2018, 07:35:15 am by ChristopherN »
 

Offline ChristopherN

  • Supporter
  • ****
  • Posts: 152
  • Country: de
    • app22 UG (haftungsbeschränkt)
Re: PCIe mini for embedded system?
« Reply #20 on: January 12, 2018, 03:24:16 pm »
And there are Teilt Modules:
http://www.roundsolutions.com/de/10168-telit-modul-gs2200m

You can configure those using AT Commands, they should behave like a normal modem after that. Thats called host mode on the modules, but I'm not sure what the current firmware supports.



 

Offline Someone

  • Super Contributor
  • ***
  • Posts: 5916
  • Country: au
    • send complaints here
Re: PCIe mini for embedded system?
« Reply #21 on: January 13, 2018, 12:41:28 am »
I haven't seen any USB-only PCIe Wi-Fi modules - all of them uses PCIe for Wi-Fi and USB for bluetooth.
mPCIe seems to be the obvious solution:
http://www.redpinesignals.com/Products/Hosted_Connectivity/Multi-Protocol_Wireless_SoC_&_Modules/RS9113_Modules/Mini_PCIe_Card.php
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf