Advice on "mobile" VIM3L

I bought a VIM3L, along with Quectel EM06 and M2X board, mainly with the intention of using it as a car router/NAS, but with the secondary purpose of being able to use it as a media player when staying somewhere other than home (eg: a hotel).

Now that krescue is working (thanks @hyphop!) I’ve tested CoreElec, Ubuntu, OpenWRT, Debian and Android, however each of them have weaknesses or problems that make them unsuitable as a single solution:

  1. CoreElec: Access Point not working at all. Did eventually get 4G to work reliably at 36Mbit/s using the supplied antenna on the “workbench” (ie: bad spot for reception, so excellent result).
  2. Ubuntu: Access Point advertises but won’t allow connections from clients.
  3. OpenWRT: all kinds of broken by design: having eth0 setup by default as wan interface just makes life difficult, but either way, OpenWRT a bad option for playing media. Didn’t get reliable enough operation to determine if Access Point operational. Will have to investigate further.
  4. Debian: choppy media playback (no libplayer-aml ?).
  5. Android: “Hot Pot” not working ;). Will have to investigate further.
  • note that wifi client works fine, and it achieved large rsync at 36MB/s (not bit/s!) … pretty decent!

So, my backup plan was to try some way of booting from eMMC in the car (preferably OpenWRT), and then one of the other options from SD/TF when at hotel (preferably CoreElec). However, if I can EVER get it to boot from SD/TF, it’s only ever intermittent: it’ll work a couple of times, and then never again. I have tried with/without HDMI plugged in, and I’ve also noticed some inconsistencies when I’ve left in my keyboard (which is wired, but has internal battery for bluetooth) … so my tests have included with/without ALL cables and combinations thereof.

Can anyone tell me how I’m going to achieve my goal?

Wouldn’t it be an idea to create a table of all the images and list what each of them can ACTUALLY achieve?

2 Likes

openwrt - dont have any problem with design ! default configuration works as wifi router - but u can change to any other :wink: openwrt - best usage as headless machine - like server
PS : display video on openwrt its bad idea :wink: but as media server / nas / firewall / router / etc is best choice

You’ve misunderstood me: I’ve been using OpenWRT for about 15 years and I usually build my own images. I generally limit myself to OpenWRT and Debian, because everything else tends to annoy me (sign of old age?), however I’ve added CoreElec to the mix relatively recently. I’m familiar with most other distros and their foibles!

s/design/your\ implementation
^ not intended to offend

eth0 as wan, and wifi enabled by default?

There’s a reason why OpenWRT doesn’t ship with WiFi enabled by default, and I totally admit that I assumed that you had adhered to this principle. My bad.

As a result of that assumption, I fully expected that eth0 would be accessible, and that wan would have been left for the user to setup as desired, rather than pre-configured in specific/limited use case.

Totally agree that OpenWRT would be a great NAS / router for the car … provided that the WiFi works with RSDB as advertised. I’ll reassess.

So if I’ve got OpenWRT on eMMC, is it possible yet to have CoreElec permanently inserted in TF, and simply press some combination of buttons to start CoreElec, but have OpenWRT start every other time?

I really don’t want to have to flash and dump with krescue every time I go in and out of a hotel!

So I’ve downloaded CoreElec from their site, copied the dtb file and booted from TF … no problem …
However, Access Point doesn’t work. Client appears to associate, but never gets an IP address. I left ESSID and passphrase as default, fwiw. This is really only an issue because my wife and I prefer to use Yatse on our remotes for controlling CoreElec … infrared became redundant many years ago, right? :wink:

Dual boot turns out to be trivial and works fine for my purpose. To boot with u-boot, simply plug in power WITHOUT HDMI connected (current running Ubuntu rather than OpenWRT, but I assume behaviour won’t change). Alternatively, for SD boot into CoreElec, plug in HDMI before the USB-C.
Is this really by design?

OK, next to see if I can get Access Point to work as advertised in OpenWRT.

ps: btw, for this project I extended a case design found on Thingiverse so that it fits the m2x board + EM06 and a 2280 M.2 drive.

I probably should have printed the buttons with PLA rather than PETG, and/or with a 0.25mm nozzle.

Anybody interested?

I’m planning on using the vent holes as sma bulkhead mounts for wifi and 4G diversity in the car. That WOULD have included GPS/GNSS, but literally the day after receiving my Khadas order I read in this forum that the Khadas version of the EM06 doesn’t include GPS … *sigh.

3 Likes

I like the colors, reminds me of Dunkin’ donuts,
:yum:

I’ve got a bit of a thing about orange and purple … stupidly long story, but it’s well and truly stuck :wink:

Sorry about the long post, and the awkward formatting.

  1. Booting OpenWRT on eMMC + CoreElec on TF/SD
    ======================================
    Real issues getting OpenWRT to boot from eMMC at all, after a krescue installation … it seems that the trick for the FIRST boot is to unplug everything, and hold in the Power button while plugging in USB-C power, then release the button.
    The HDMI cable in/out behaviour that I’d previously noticed with Ubuntu no longer works … a real shame.
    Rebooting from OpenWRT seems intermittent … sometimes it just seems to lose the plot during u-boot and starts looking for tftp files on the network.
    Starting the device with TF card inserted and by ONLY applying power (and network) results in u-boot failure.
    WITH the card inserted it’s near impossible to get OpenWRT on eMMC.
    Removing the card and ONLY applying power gives the same result:
    ** No partition table - mmc 2 **
    So, without the TF card inserted, the only way I can get OpenWRT to start from eMMC is to triple-press the function button after a reset.
    With OpenWRT on eMMC, CoreElec does not boot from TF at all, unlike when Ubuntu is on eMMC.
    Replacing the CoreElec SD card with a Krescue SD card boots into Krescue after a simple warm-reset. (Hot swapped the cards, and pressed reset).

  2. OpenWRT Wifi
    ===============
    As a client, OpenWRT can scan both 2.4GHz and 5GHz without issue … I’ve not tested connection.
    I can successfully connect to the AP … but only on 5GHz. There’s no 2.4GHz.
    Further investigation suggests that it ONLY wants to operate on channel 36 (I had attempted channel 42@20MHz with country=AU).
    By these logs there might be others that work, but the “limited channels” is a shame.
    Wed Jul 15 01:30:35 2020 kern.warn kernel: [ 423.203137] platform regulatory.0: Direct firmware load for regulatory.db.p7s failed with error -2 Wed Jul 15 01:30:35 2020 kern.info kernel: [ 423.203142] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid Wed Jul 15 01:30:35 2020 kern.info kernel: [ 423.221964] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9 Wed Jul 15 01:30:35 2020 kern.warn kernel: [ 423.222920] brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac4359-sdio.khadas,vim3l.txt failed with error -2 Wed Jul 15 01:30:35 2020 kern.info kernel: [ 423.409743] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9 Wed Jul 15 01:30:35 2020 kern.info kernel: [ 423.409802] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available Wed Jul 15 01:30:35 2020 kern.info kernel: [ 423.413749] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4359/9 wl0: Jan 19 2018 12:14:30 version 9.87.51.11.8 (a85e25e@shgit) (r) FWID 01-cb5aa0a5
    I found these of interest:
    https://gist.github.com/hyphop/c3bdc925298d6bd59d3f39d1301a94a2
    https://patchwork.kernel.org/patch/10750349/
    https://community.cypress.com/docs/DOC-19375
    https://community.cypress.com/docs/DOC-15932 <<< **** particularly this one?

  3. UHTTPD
    =========
    uhttpd often doesn’t start, with this error:
    Wed Jul 15 01:03:54 2020 daemon.info procd: Not starting instance uhttpd::instance1, command not set
    Disabled https in /etc/config/uhttpd for quick fix.

So, #1 and #2 make OpenWRT completely unsuitable for (my) use at this point.

I’ll see if I can get Ubuntu Access Point to work better, now that I’m a little more familiar with the issues.
I’ve still not seen ANY evidence of RSDB working in Access Point mode.
I assume that this would require much more modern and/or mainline kernel?

  1. yes our WIFI chip have problems with openwrt stack and works only as hack at this moment - yes is sad !
    vim1 have better situation but - i still dont have enough time for improve this situation for vim3 / vim3l
  2. about booting problem - openwrt images used last mainline uboot and can have some problems for booting coreelec (but i will try check it and solve it ), another solution https://dl.khadas.com/Firmware/openwrt/ write openwrt image to sd card and write coreelec to emmc ---- this combination must works without problem

PS: sorry same have booting problem for both situation ! tnx for feedback ! plz wait i will fix it :wink:

2 Likes

OK, but with OpenWRT on SD and the SD inserted, will the device ALWAYS boot when power is supplied?
eg: if car ignition is turned on which system will boot by default?

If you have set the device to upgrade mode, then SD card first then eMMC next…

theoretically, the system on sd should boot first, after you activate it once

As I said above, though … with Ubuntu on eMMC and CoreElec on SD, it seemed to boot into CoreElec ONLY when the HDMI was plugged in … no button-pushing required. That’s almost ideal, as I don’t have (or intend to have?) a HDMI display in the car.
I’d hate to pull this thing out of the hotel, stick it in the car, and then find out halfway down the street that it needed buttons pushed to start properly! Hehehe.
(I’m planning on stashing it in the “luggage area” where there’s a small netted area next to a 12V port.)
I’ll have to give it a go and find out.

2 Likes

Are you going to watch TV while driving ?
That would be ridiculous but cool… :laughing:

No, I’ll be too busy fiddling with the buttons on the steering wheel!
Wife and kids will most likely be streaming video on occasion, though.

I’ve now got CoreElec on eMMC, using the cemmc tool, but I’ve not been able to boot OpenWRT from SD so far. Best I’ve achieved is no logo // blank screen (other than booting into CoreElec). I’ve probably missed something obvious.

I don’t recommend watching TV while going on a car, it ruins your eyesight, not even books, music is ok, but try to not stare at a screen while in the car…

Yeah, and just imagine what the blue light would be doing to your concentration!

This setup is actually being built for A BIG trip … about 30 hours of driving all up.
So the video watching during this trip (by the passengers!) will not be the norm.

the real truth is that it puts strain on your eyes, it is like trying to drink water from a cup while going on a bumpy ride… not a fun experience, tell your kids to listen to music, trust me it is a personal experience I have ruined my eyesight doing that, bigger screens are ok I guess but a small ones like phone displays are bad, you would need to have a 17inch screen to prevent it all…

I though he was referring to the cops’ blue lights… :grin:

Sure, totally agree.
I’ve modified a design and printed a mount to hold an iPad2 for the rear seats (and a matching one for a 2nd tablet, just in case), and the wife will have a number of options available. I expect her phone for comms, and ultralight laptop for watching her YouTube channels … or POSSIBLY stream it to the main screen on the dash … not sure if I want to lose that, as it might reduce the amount of button pushing available to me :wink:
As I say, I’ll be busy fiddling with buttons.