Changes

Jump to: navigation, search

Linux Mint: Serial port name bug on fitlet2 with Atom CPU

4,049 bytes added, 08:13, 15 September 2019
/* Compile custom kernel */
* For example, on Linux Mint 19 with kernel 4.15+ serial port initially detected as /dev/ttyS6, but then device node is absent in the /dev/ directory
=== Temporary solution ===
* Ensure latest BIOS is installed: [[Fitlet2:_BIOS_Files]]
* Install development Ubuntu kernel provided by Canonical Kernel Team
</pre>
* Missing device node /dev/ttyS6 will appear now as /dev/ttyHS1
* Tested with serial loopback cable:
<pre>
# Test with serial loopback cable:
$ sudo -i
$ echo "12345678" > /dev/ttyHS1
</pre>
=== Compile custom kernel ===* The above temporary solution works for Ubuntu based distributions like Linux Mint, for other distributions, see below.* Another way is to get serial port working is to recompile your kernel manually and disable unset CONFIG_SERIAL_DEV_BUS in menuconfig* The configuration path:Device Drivers > Character devices > Serial device bus
<pre>
> Device Drivers ->Character devices ───────────────────────────────────────────────────────────────── ┌─────────────────────────────────────── Character devices ───────────────────────────────────────┐ │ Arrow keys navigate the menu. <Enter> selects submenus --->(or empty submenus ----). │ │ Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, <M> modularizes │ features. Press <Esc><Esc> to exit, <?> for Help, </> for Search. Legend: [*] built-in [ ] │ │ excluded <M> module < > module capable │ │ ┌───────────^(-)──────────────────────────────────────────────────────────────────────────────┐ │ │ │ <M> GSM MUX line discipline support (EXPERIMENTAL) │ │ │ │ < > Trace data sink for MIPI P1149.7 cJTAG standard │ │ │ │ [*] Automatically load TTY Line Disciplines │ │ │ │ [*] /dev/mem virtual device support │ │ │ │ [ ] /dev/kmem virtual device support │ │ │ │ Serial drivers ---> │ │ │ │ < > Serial device bus ---- │ │ │ │ </preM>TTY driver to output user messages via printk │ │ * As result in .config will appear: │ │ <M> Parallel printer support │ │ │ │ [ ] Support for console on line printer │ │ │ └───────────┴(+)──────────────────────────────────────────────────────────────────────────────┘ │ ├─────────────────────────────────────────────────────────────────────────────────────────────────┤ │ <Select> < Exit > < Help > < Save > <preLoad ># CONFIG_SERIAL_DEV_BUS is not set └─────────────────────────────────────────────────────────────────────────────────────────────────┘
</pre>
* We've build such kernels example .deb kernel packages for some distributionsDebian 10, missing device node will appear as /dev/ttyS2:
<pre>
# DebianDownload and install the kernel packages:$ wget https:/path/tofit-iot.com/files/download/fitlet2/sw/images/Linux/Kernel-packages/linux-headers-4.19.67-compulab.2019.09.11_4.19.67-compulab.2019.09.11-1_amd64.deb$ wget https:/path/tofit-iot.com/files/download/fitlet2/sw/images/Linux/Kernel-packages/linux-image-4.19.67-compulab.2019.09.11_4.19.67-compulab.2019.09.11-1_amd64.deb
$ sudo dpkg -i linux-headers-* linux-image-*
$ sudo reboot
</pre>
# Test CONFIG_SERIAL_DEV_BUS variable:
$ cat /boot/config-4.19.67-compulab.2019.09.11 | grep CONFIG_SERIAL_DEV_BUS
# CONFIG_SERIAL_DEV_BUS is not set
 
# Test with serial loopback cable:
$ sudo -i
$ echo "12345678" > /dev/ttyS2
$ cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A mmio:0x7FFFF10000 irq:4 tx:0 rx:0
1: uart:16550A mmio:0x7FFFF0E000 irq:5 tx:0 rx:0 CTS
2: uart:16550A mmio:0x180000000 irq:6 tx:10 rx:10
3: uart:16550A mmio:0x7FFFF0C000 irq:7 tx:0 rx:0 CTS
</pre>
[[category:fitlet2]]
[[category:linux]]
[[category:software]]
425
edits