userhead jasongaunt
Replies (10)
  • You Reply:
    LattePanda wrote: ↑Wed Aug 01, 2018 6:36 amAbout the I2C sample support, what kind of common accessories will you interest in connecting with LattePanda via these pins!?
    Hi @Lattepanda

    I realise I am possibly 2-3 years late to this party

    I see you've released RS232 and RS485 module boards that make use of this connector but I would love to see a CAN bus module board too

    It would make integration into car / automotive projects a LOT simpler!
  • You Reply: I had no luck with networking on Ubuntu Server - the ethernet driver appears to only be present in Ubuntu Desktop.

    What I did was install the desktop version and then disable the GUI. It happily runs SDR and an nginx proxy without any crashes or hangs
  • You Reply: Er, Coco Xia, what are you talking about?
    • WiFi works with a BIOS tweak and a settings file, please read this post: (shortened URL but it links right back to these forums)
    • Ethernet works right out the box with Ubuntu 16.04.3 LTS although the interface name is something like enx???????????? (where ? is the mac address)
    BT I don't know. It sees hci0 but it won't allow me to bring it up.
  • You Reply: Hi LattePanda team and fans,

    I've had 2x 4G32 Z8300 units for a while now. One runs Ubuntu 16.04 LTS and the other the stock Windows 10 Home install.

    With exception to the wifi chip dying on the Windows one, everything has been fine

    Despite loving this little powerhouse, there are a number of improvements that can be made, one particular bugbear of mine is the placement of the ports. I've re-purposed 2 metal (one Aluminium, one mild steel) cases now for "industrial" placement (well, my garage) and the number one issue I've always had is the placement of the RJ45 Ethernet port. If the ports were on one side alone, fabricating a case would be far easier.

    Here are a list of improvements I'd recommend that would make the product a lot more desirable for system integrators and hardware hackers like myself;

    Switch to the Pico-ITX format
    The LattePanda board layout is already VERY close to this (88 x 70mm for the LP vs 100mm x 72mm for Pico-ITX), it makes sense to swap to this layout because it would provide the following benefits;

    * A standardized layout making case design and integration easier
    * All PC relevant ports would be on one (long) side making connectivity simpler
    * This would push all Arduino-related ports to the other side of the board, meaning solutions using Arduino could benefit from being inside the case
    * More ports can be fit on the back
    * Better industry acceptance, that means bigger communities and better support, plus more money for the LattePanda team and that means even more product improvements that benefit the hobbyist users like myself
    * You can easily get Double-DIN Pico-ITX cases

    Add a MiniPCIe or M.2 slot
    There are an infinite number of expansions to be had with these;

    How about a 4 port SATA adapter? Turn LP mk2. into a home NAS.
    How about a 4G LTE modem with GPS and send it on a drone / into space?
    How about a riser card to use a full sized PCIe card?

    Providing you had a good power supply from an external source, you could add a dedicated GPU (1080 Ti? haha) to the LattePanda and turn it into a gaming platform or use CUDA for really cool things such as realtime 4K OpenCV computer vision.

    Be careful that the M.2 interface you add is keyed properly, you say it'll support PCIe 4x, UART and I2C, but according to Wikipedia these are mutually exclusive and your port can only support either PCIe 4x or PCIe 2x + UART + I2C. Not both in the same port.

    If it was just for SATA, it would be almost uesless, the onboard eMMC is still fairly good

    Upgrade to 8GB RAM and Gigabit Ethernet
    It goes without saying, LP is pretty good but RAM and Gigabit ethernet can be limiting factors. I've never found the processor a limiting factor, but when trying to copy large files or use more than a few tabs in Google Chrome, the unit starts to page swap and this causes it to run slower.

    Add another USB 3.0 port
    Having to buy an external USB 3.0 hub shouldn't be required if you wanted to plug more than one USB 3.0 capable device in. What if you're using the LP to copy files between USB 3.0 hard disks for example?

    Add a barrel jack for power with an on-board regulator
    What would be awesome would be the ability to power the LP mk2. from a wide input voltage (recommend 11v to 30v), as this would make car / truck / industrial integration easier. It also means we can supply our own power supply easier.

    Add 4 pin fan support
    This could be used in conjunction with the above barrel jack mod, if we could get 12V to a fan with a PWM output for speed control, we could add a good heatsink and remove the thermal throttling completely, meaning an even faster LP mk2.

    Currently I power a 12V 40mm case fan from one of the 5V headers, this works fine and the fan just blows enough air, but if it ever overheated there's no fighting it. Just have to live with thermal throttling or worse (I think this is what killed my wifi chip).

    As for the name? You have to be careful to choose a name that is future-proof. In 2-3 years time, will you have a mk3. LattePanda? You have to factor that in now!

    Suggestions for mk2. and future revision boards;

    * EspressoPanda (implies getting something strong, fast)
    * GrandePanda (a big boy LattePanda)
    * VentiPanda (a cut-down LattePanda)
    * MochaPanda (a LattePanda with a different flavour / twist?)
  • You Reply: Edited my previous post to remove the allow-hotplug and add the mtu values for the wired LAN section of /etc/network/interfaces - I was seeing weird issues where connections to the LattePanda were intermittently being reset, this appears to have cured it.
  • You Reply: Updating my progress here.

    I kept having stability issues with my 4G-64, to the point where some very complex swearwords were used to describe the LP.

    Out of curiousity, I decided to try the 32-bit version of the latest Ubuntu Server (ubuntu-16.04.2-server-i386) and this initially seems more stable, albeit only with 30 minutes of testing. There was no networking to be seen on boot, however you can get Ethernet working pretty easily, followed by WiFi;

    1. Install Ubuntu Server, log in and switch to root with sudo su

    Code: Select all

    lattepanda@lp1:~$ sudo su [sudo] password for lattepanda: root@lp1:/home/lattepanda# 2. Run ip link and write down the Ethernet adapter address in the format enx???????????? (in my case, it was enx00e04c364374)

    Code: Select all

    root@lp1:/home/lattepanda# ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enx00e04c364374: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 00:e0:4c:36:43:74 brd ff:ff:ff:ff:ff:ff 3. Edit /etc/network/interfaces with your favourite text editor (hopefully vi) and add a new stanza (replacing your adapter name)

    Code: Select all

    auto enx00e04c364374 iface enx00e04c364374 inet dhcp mtu 8192 (Edit: I removed allow-hotplug and added the mtu value as the interface was intermittently dropping connections)

    4. Either reboot or run ifup enx00e04c364374 (replacing your adapter name)

    5. Once you have working Internet access, follow the instructions in this post from b-man

    Hope this helps someone

    One thing I am seeing in the Kernel messages are the following;


    Code: Select all

    ... [ 3.035175] fb: switching to inteldrmfb from EFI VGA [ 3.037407] Console: switching to colour dummy device 80x25 [ 3.037607] [drm] Replacing VGA console driver [ 3.038117] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 3.038128] [drm] Driver supports precise vblank timestamp query. [ 3.038223] [drm:intel_parse_bios [i915]] *ERROR* Unable to parse MIPI Sequence Block v3+ ... [ 3.114638] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem [ 3.116018] [drm:pwm_setup_backlight [i915]] *ERROR* Failed to own the pwm chip And then whenever the console blanks or is woken up:

    Code: Select all

    [ 3.126296] ------------[ cut here ]------------ [ 3.126396] WARNING: CPU: 3 PID: 144 at /build/linux-W6HB68/linux-4.4.0/drivers/gpu/drm/i915/intel_display.c:690 chv_calc_dpll_params+0x9c/0xc0 [i915]() [ 3.126412] WARN_ON(clock->n == 0 || clock->p == 0) [ 3.126417] Modules linked in: [ 3.126425] mmc_block crct10dif_pclmul crc32_pclmul ghash_clmulni_intel i915(+) aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm sdhci_pci fjes video i2c_hid hid sdhci_acpi sdhci pinctrl_cherryview [ 3.126502] CPU: 3 PID: 144 Comm: systemd-udevd Not tainted 4.4.0-62-generic #83-Ubuntu [ 3.126517] Hardware name: To be filled by O.E.M. To be filled by O.E.M./Cherry Trail CR, BIOS S70C_001 03/17/2016 [ 3.126532] 0000000000000286 00000000aa88cdab ffff88017649b650 ffffffff813f7c63 [ 3.126548] ffff88017649b698 ffffffffc02e1ab8 ffff88017649b688 ffffffff810812d2 [ 3.126564] ffff880176953c00 0000000000000000 ffff880035620000 0000000000000000 [ 3.126580] Call Trace: [ 3.126595] [<ffffffff813f7c63>] dump_stack+0x63/0x90 [ 3.126609] [<ffffffff810812d2>] warn_slowpath_common+0x82/0xc0 [ 3.126619] [<ffffffff8108136c>] warn_slowpath_fmt+0x5c/0x80 [ 3.126688] [<ffffffffc0275b5c>] chv_calc_dpll_params+0x9c/0xc0 [i915] [ 3.126756] [<ffffffffc02763c4>] i9xx_get_pipe_config+0x654/0x690 [i915] [ 3.126825] [<ffffffffc028386a>] intel_modeset_setup_hw_state+0xba/0xe80 [i915] [ 3.126897] [<ffffffffc0286085>] intel_modeset_init+0x935/0x1200 [i915] [ 3.126967] [<ffffffffc02bf060>] i915_driver_load+0xaf0/0xf30 [i915] [ 3.126980] [<ffffffff8175e227>] ? netlink_broadcast_filtered+0x137/0x3d0 [ 3.126992] [<ffffffff813fb120>] ? cleanup_uevent_env+0x10/0x10 [ 3.127003] [<ffffffff813fb4cb>] ? kobject_uevent_env+0x15b/0x640 [ 3.127014] [<ffffffff815561d7>] ? get_device+0x17/0x20 [ 3.127025] [<ffffffff8155c4e5>] ? klist_class_dev_get+0x15/0x20 [ 3.127037] [<ffffffff8182b5d7>] ? klist_node_init+0x37/0x50 [ 3.127048] [<ffffffff8182b660>] ? klist_add_tail+0x20/0x50 [ 3.127058] [<ffffffff81557e5b>] ? device_add+0x15b/0x650 [ 3.127098] [<ffffffffc00a83d7>] drm_dev_register+0xa7/0xb0 [drm] [ 3.127132] [<ffffffffc00aaa0d>] drm_get_pci_dev+0x8d/0x1e0 [drm] [ 3.127192] [<ffffffffc02031e4>] i915_pci_probe+0x34/0x50 [i915] [ 3.127204] [<ffffffff81448385>] local_pci_probe+0x45/0xa0 [ 3.127215] [<ffffffff814497c3>] pci_device_probe+0x103/0x150 [ 3.127227] [<ffffffff8155b5f2>] driver_probe_device+0x222/0x4a0 [ 3.127237] [<ffffffff8155b8f4>] __driver_attach+0x84/0x90 [ 3.127248] [<ffffffff8155b870>] ? driver_probe_device+0x4a0/0x4a0 [ 3.127259] [<ffffffff8155921c>] bus_for_each_dev+0x6c/0xc0 [ 3.127269] [<ffffffff8155adae>] driver_attach+0x1e/0x20 [ 3.127280] [<ffffffff8155a8eb>] bus_add_driver+0x1eb/0x280 [ 3.127291] [<ffffffff8155c200>] driver_register+0x60/0xe0 [ 3.127301] [<ffffffff81447cac>] __pci_register_driver+0x4c/0x50 [ 3.127335] [<ffffffffc00aac40>] drm_pci_init+0xe0/0x110 [drm] [ 3.127345] [<ffffffffc032b000>] ? 0xffffffffc032b000 [ 3.127403] [<ffffffffc032b092>] i915_init+0x92/0x99 [i915] [ 3.127415] [<ffffffff81002123>] do_one_initcall+0xb3/0x200 [ 3.127427] [<ffffffff811ecd9f>] ? kmem_cache_alloc_trace+0x19f/0x1f0 [ 3.127440] [<ffffffff8118d993>] do_init_module+0x5f/0x1cf [ 3.127452] [<ffffffff8110a93f>] load_module+0x166f/0x1c10 [ 3.127462] [<ffffffff81106ee0>] ? __symbol_put+0x60/0x60 [ 3.127474] [<ffffffff81214940>] ? kernel_read+0x50/0x80 [ 3.127486] [<ffffffff8110b124>] SYSC_finit_module+0xb4/0xe0 [ 3.127496] [<ffffffff8110b16e>] SyS_finit_module+0xe/0x10 [ 3.127508] [<ffffffff818385f2>] entry_SYSCALL_64_fastpath+0x16/0x71 [ 3.127518] ---[ end trace a515f105a3fe3415 ]--- This appears to not affect the unit, just that the LCD doesn't power off the backlight when the console blanks. I imagine disabling console blanking will make this error go away in the short term.
  • You Reply: I don't know if a non-secure BIOS is what you're after, you can boot EFI-based installation media no problem, secure would mean that you cannot boot anything other than the OS on the eMMC.

    If you're asking for the ability to boot any installation media, as in legacy boot support, I think that may be too much work. It'll require a significant rewrite.
  • You Reply: Yes, that's a good link.

    Just read through it all, although it seems the latest microcode update on Intels website is dated November 2016 and doesn't include any of the Atom processors at all, the last update with Atom processors was back in 2015
  • You Reply: Okay, the settings I changed in the BIOS were (note these locations are not exact, you can find them easily though);

    Advanced -> CPU Thermal (various)

    Thermal Throttle Mechanism = TM2 Adaptive Throttling
    Allow High Performance = Disabled
    DTS (Digital Thermal Sensor) = Enabled

    South Bridge -> Chipset -> Audio Configuration

    Audio Configuration -> LPE Audio Support = LPE Audio PCI mode

    South Bridge -> Chipset -> SCC Configuration

    SCC SDIO Support -> PCI Mode
    SCC SD Card Support -> PCI Mode

    Sadly it's stopped booting up at all anymore, Lubuntu partially boots but stops halfway somewhere. Need more time to investigate

    One thing I did spot is a "Bluetooth Devices" options
    20170228_190227_720p.jpg 20170228_190227_720p.jpg (228.79 KiB) Viewed 25564 times Does this change how the BT device is presented to the OS? Could it be used to get the drivers to load?



  • You Reply: Hi folks,

    Having read pretty much every message on this thread, I've pretty much successfully deployed Lubuntu x64 on my 4G-64 LP. Thanks to all who have done research to get us this far

    My 2 remaining issues are lack of Bluetooth and overall stability.

    Bluetooth is a nice-to-have feature, we can always add this with a USB Bluetooth dongle, but what isn't clear is how to set this up, has someone gotten it working successfully yet?

    Stability is a major pain in the ass right now, both of the two 4G-64 LattePandas I own are highly unstable (at least in Lubuntu), here are some issues I see;
    • Random system hangs, requiring a physical power cycle to resolve (see below)
    • Kernel messages surrounding CPU lockups (in particular, CPU0)
    • Intermittent boot problems (see below)
    Regarding the system hangs and intermittent boot problems, sometimes attempting to warm boot the system results in more instability than usual, and sometimes it won't even boot at all.

    Removing the power cable for 5 seconds, reattaching it, letting the blue light turn off and then powering it on significantly increases the chance of a successful boot

    Then once running, it could be minutes, or it could be hours, but the unit will either die completely or just network connectivity. Again, I will see Kernel messages about segfaults and CPU hanging.

    Quite a few posts earlier in this thread suggested that the CPU is overheating, so with some tape and a 40mm server case fan (SCREEEEEE!!!! ) blowing through the side of the LattePanda plastic case, I managed to get the operating temperature down and did some bed-in testing - 15 minutes full load of both CPU and GPU;
    • 8x cat /dev/urandom > /dev/null
    • Full screen glxgears
    • Firefox with Youtube playing on loop
    You could definitely see it struggling (although not by much, minor video stuttering, I'll give it credit, LattePandas got big balls!), but it lasted the full 15 minutes torture

    I have tweaking BIOS settings regarding thermal throttling (although I cannot remember which ones specifically at this point, I will check and report back tonight), I have also made the ACPI -> PCI tweaks for WiFi, sound and MicroSD usage.

    I have also tried different power supplies and different networking (either WiFi or Ethernet).

    I'm no expert, but if we're getting CPU overheating to begin with, I wonder if there's some microcode not being loaded, causing the instability?

    Any ideas folks?

    Ps. LattePanda staff, I think we need a dedicated Wiki page for LattePanda + Linux