WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Pi 3B+  (Read 7437 times)

Offline sodface

  • Jr. Member
  • **
  • Posts: 90
Re: Pi 3B+
« Reply #60 on: October 21, 2018, 05:28:10 PM »
Just picked up a Pi 3 B+, how goes the v10 development bmarkus?  Just asking!

Offline sodface

  • Jr. Member
  • **
  • Posts: 90
Re: Pi 3B+
« Reply #61 on: October 24, 2018, 11:05:54 AM »
Some notes on the current beta version and serial console operation:

Pi Zero W
----------
-- Stock image gives you a handful of gibberish when power is first applied, nothing further, no login prompt

-- Edit config.txt and add dtoverlay=pi3-disable-bt so it applies to the pi zero W and not just the Pi3 which is the default.  This looks like it has no effect at power on but if you wait for the boot to complete you will get a login prompt.  No kernel or piCore messages during boot, just a console login, which does actually let you login.

-- Edit cmdline.txt and switch the order of the console= statements so the ttyAMA0 entry is after tty1 or delete the tty1 entry leaving just console=ttyAMA0,115200 and then you get piCore boot messages and a login prompt which lets you login.

Pi3 B+
------
-- Stock image gives you a handful of gibberish when power is first applied, nothing further, no login prompt

-- Edit cmdline3.txt and change ttyS0 to ttyAMA0: console=ttyAMA0,115200.  This appears to have no effect except I get one kernel message: "Under-voltage detected! (0x00050005)".  In this case, having a crappy power supply at least had the benefit of showing that changing to ttyAMA0 had an effect.  Beyond this single message (which actually appears twice during boot) there is no other output, no additional kernel/piCore messages and no login prompt.

-- Edit cmdline3.txt again and switch the order of the console= statements and now I see the under-voltage messages as well as the piCore boot messages but no login prompt.  When I press enter it does cause my serial terminal to advance a line and if I type characters I see them echoed to the screen.  The pi is fully booted (I verified this by hooking up a monitor and keyboard and I can login that way) but I never get a serial login prompt.

-- Edit config.txt and comment out "enable_uart=1" and you still see piCore boot messages and no login prompt as the previous test but you don't see the ssh key generation ascii art which I did see before commenting out "enable_uart=1".

Reading about the serial port usage on the Pi3 is confusing (to me).  Even if I don't really get what's going on fully yet, it does seem that the default piCore configuration isn't really ideal for the Zero W or the Pi3.  Looking at the default configuration, the intent appears to be that console messages get logged to the monitor and that a login will be available at both the local monitor/keyboard and via the serial GPIO pins.  If that's the desired operation, in the case of the Zero W, you need to add dtoverlay=pi3-disable-bt to make that happen.  For the Pi3 you have to change to ttyAMA0 to get any serial response at all but you never get a login prompt so really a serial login doesn't really work for me at all yet.


 

Offline sodface

  • Jr. Member
  • **
  • Posts: 90
Re: Pi 3B+
« Reply #62 on: October 24, 2018, 03:25:03 PM »
For the Pi3 B+ I commented out the "/usr/sbin/startserialtty &" line in /opt/bootlocal.sh and added at the end of the file "/sbin/getty -L ttyAMA0 115200 vt100 &"
which gives me a serial login that works.  The startserialtty script is starting the getty on ttyS0 on the Pi3 so the above just disables that script and manually starts the getty on ttyAMA.

Offline sodface

  • Jr. Member
  • **
  • Posts: 90
Re: Pi 3B+
« Reply #63 on: October 26, 2018, 08:18:34 PM »
This will probably be my final comment on the serial console unless someone on the dev team would like to discuss the intended functionality as I'm just guessing by looking at the config files.  As it is now, the serial console related entries in cmdline.txt, cmdline3.txt, config.txt and the startserialtty don't do what they look like they should or what I think was intended, at least on the zero w and the 3 B+.

As currently written, for the zero w, the startserialtty script starts the getty on ttyAMA0 but without applying dtoverlay=pi3-disable-bt the bluetooth is using ttyAMA0 and the console is on ttyS0, so a serial login via the GPIO pins is not possible.

For the pi3 B+, dtoverlay=pi3-disable-bt is applied which disables bluetooth and puts the console back to ttyAMA0, except the startserialtty script detects the board as pi3 and starts the getty on ttyS0, so again, no login is possible.

Good explanations of the uart functions and assignments as well as the changes for the pi3 can be seen here:
https://github.com/raspberrypi/linux/issues/1399
https://www.raspberrypi.org/documentation/configuration/uart.md

Further, there is a udev rules file here:
https://github.com/RPi-Distro/raspberrypi-sys-mods/blob/master/etc.armhf/udev/rules.d/99-com.rules

that creates /dev/serial0 and /dev/serial1 symlinks pointing to the correct devices regardless of assignment (I think).  In my limited testing, using console=serial0,115200 worked for kernel messages regardless of whether ttyS0 or ttyAMA0 was the uart used for the console (depending on the application of the dt overlays or not).  Implementing the serial0(1) aliases and udev rules in the cmdline files and getty scripts may be a better way forward, again depending on the intent of the devs.

The other option would be to remove all the serial console related config entries and put up a wiki article on how to enable them if desired.  At least that way it doesn't *look* like it should work but then doesn't, leaving the user scratching their head.

Offline onelife

  • Jr. Member
  • **
  • Posts: 70
Re: Pi 3B+
« Reply #64 on: November 16, 2018, 01:36:20 AM »
Hi there TC Forum,

I'm trying to see if pi3B+ will be supported at some point by TC? I see the beta releases seem to have stopped for some reason?

I'd love to keep using TC but not sure how I get TC up and running on 3B+.

Or am I missing something - Any suggestions?

Thank you!