PCIe mini for embedded system? - Page 1
Forum section: electronics / projects

author: tszaboo
author_rank: Super Contributor
timestamp: January 10, 2018, 09:31:15 am
content: 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!

author: technix
author_rank: Super Contributor
timestamp: January 10, 2018, 10:14:27 am
content: 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.

author: tszaboo
author_rank: Super Contributor
timestamp: January 10, 2018, 10:24:34 am
content: 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.

author: llkiwi2006
author_rank: Regular Contributor
timestamp: January 10, 2018, 10:32:11 am
content: Quote from: technix on January 10, 2018, 10:14:27 amJust curious, are there Linux drivers available for that? It would be a pain to write your own.

author: tszaboo
author_rank: Super Contributor
timestamp: January 10, 2018, 11:59:35 am
content: Quote from: llkiwi2006 on January 10, 2018, 10:32:11 amhttps://en.wikibooks.org/wiki/Serial_Programming/IP_Over_Serial_ConnectionsTechnically 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.

author: ogden
author_rank: Super Contributor
timestamp: January 10, 2018, 12:55:17 pm
content: Quote from: NANDBlog on January 10, 2018, 09:31:15 amI 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

author: tszaboo
author_rank: Super Contributor
timestamp: January 10, 2018, 02:49:21 pm
content: Quote from: ogden on January 10, 2018, 12:55:17 pmTI doesnt have USB-Wifi in their portfolio. And I'm not looking for IC solutions, only module. With CE, FCC certification of course.

author: NiHaoMike
author_rank: Super Contributor
timestamp: January 10, 2018, 03:59:50 pm
content: Just get an off the shelf Wifi adapter, make an adapter board for it, and call it done.

author: ogden
author_rank: Super Contributor
timestamp: January 10, 2018, 04:19:42 pm
content: Quote from: NiHaoMike on January 10, 2018, 03:59:50 pmRight. Just USB socket on the board needed, that's it. + Maybe some locking contraption for better vibration resistance.Quote from: NANDBlog on January 10, 2018, 02:49:21 pmI didn't say they have.Well... then check SiLabsmodulewithUSB, as you wish:https://www.silabs.com/products/wireless/wi-fi/wgm110-wizard-gecko-moduleOr 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/

author: technix
author_rank: Super Contributor
timestamp: January 10, 2018, 04:57:39 pm
content: Quote from: NANDBlog on January 10, 2018, 10:24:34 amFor 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.)

author: tszaboo
author_rank: Super Contributor
timestamp: January 11, 2018, 11:26:21 am
content: Quote from: technix on January 10, 2018, 04:57:39 pmI 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.Quote from: technix on January 10, 2018, 04:57:39 pmWell, 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.Quote from: technix on January 10, 2018, 04:57:39 pmAnd 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.Quote from: technix on January 10, 2018, 04:57:39 pmThat 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.Quote from: ogden on January 10, 2018, 04:19:42 pmGood 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. "

author: Gribo
author_rank: Frequent Contributor
timestamp: January 11, 2018, 01:20:51 pm
content: 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)

author: voltsandjolts
author_rank: Unknown
timestamp: January 11, 2018, 01:33:48 pm
content: 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.

author: voltsandjolts
author_rank: Unknown
timestamp: January 11, 2018, 01:47:54 pm
content: 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

author: ogden
author_rank: Super Contributor
timestamp: January 11, 2018, 02:07:04 pm
content: Quote from: NANDBlog on January 11, 2018, 11:26:21 amIt seemed so.QuoteOh, this is how you say "thank you"? Sounds like "f** u for investing your time".Next timedo your homeworkand 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.

author: tszaboo
author_rank: Super Contributor
timestamp: January 11, 2018, 05:46:41 pm
content: Quote from: ogden on January 11, 2018, 02:07:04 pmYou 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.Quote from: voltsandjolts on January 11, 2018, 01:47:54 pmI already ordered a card like this for evaluation ans some reverse engineering.

author: ogden
author_rank: Super Contributor
timestamp: January 11, 2018, 07:03:29 pm
content: Quote from: NANDBlog on January 11, 2018, 05:46:41 pmAt 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

author: ogden
author_rank: Super Contributor
timestamp: January 11, 2018, 07:16:45 pm
content: Quote from: NANDBlog on January 11, 2018, 05:46:41 pmYou 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...

author: technix
author_rank: Super Contributor
timestamp: January 12, 2018, 10:50:52 am
content: Quote from: NANDBlog on January 11, 2018, 11:26:21 amWithout 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.

author: ChristopherN
author_rank: Unknown
timestamp: January 12, 2018, 03:11:53 pm
content: Hi NANDBlogthere are modules that use USB Interfaces and plug via PIN Header:https://www.acmesystems.it/WIFI-2https://www.acmesystems.it/www/WIFI-2_documentation/GWF-3M08-Datasheet.pdfhttp://www.seco.com/prods/de/kit-wifi-3m08-1.htmlhttp://en.ogemray.com/product/product.php?t=3M08There are versions with CE, FCC and RED certifications.Christopher

author: ChristopherN
author_rank: Unknown
timestamp: January 12, 2018, 03:24:16 pm
content: And there are Teilt Modules:http://www.roundsolutions.com/de/10168-telit-modul-gs2200mYou 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.

author: Someone
author_rank: Super Contributor
timestamp: January 13, 2018, 12:41:28 am
content: Quote from: technix on January 12, 2018, 10:50:52 ammPCIe seems to be the obvious solution:http://www.redpinesignals.com/Products/Hosted_Connectivity/Multi-Protocol_Wireless_SoC_&_Modules/RS9113_Modules/Mini_PCIe_Card.php