Dear PinePhone users,
I have just published a new Sculpt image for the PinePhone today:
https://depot.genode.org/nfeske/image/
The new version 2023-04-06 introduces three new features:
1. Wifi! For those of you without mobile data connectivity, you can now select "Wifi" in the network part of the GUI, select an access point and enter your passphrase, just like on the PC version of Sculpt. Since the passphrase is not saved, you have to enter it each time when connecting. Not a bug. It's for training your blind typing skills. ;-) ...don't worry, those usability topics are on our list.
2. There is a new preset that starts a pre-configured Morph browser right into Jitsi alongside the camera driver. Speaking of the camera, it is now operated in gray scale because we found the colors provided by the sensor not really presentable. Later, we may come back to work on the colors but until then, gray-scale looks nice enough. When asked, select "Use Jitsi on the Website". As of now, the preset is mainly intended to ease the testing of further performance optimizations. It may not by suited for practical use yet, but I think its a good time to show how far we have come already.
3. The new "Add" tab in the Software section provides the functionality of Sculpt's '+' menu, which is the browsing of depot menus, the installation of packages, and the manual deployment of new components. In addition to regular Sculpt, it offers a way to directly add URLs of new software providers. Since Sculpt does not know any public keys of such providers, downloads can of course not be verified. But the system still offers you the option to download packages without verification. The assessment of trust in such components is of course entirely up to you.
Installation
- If you have an earlier version of Sculpt installed and a mobile data connection, you can use the "Update" tab in the software section of the GUI to check for updates from 'nfeske', download the '2023-04-06' image, press the install button, and reboot.
You may chose to also download an older image (without install). So you can always switch back to the old version should the new image not be to your liking.
- For preparing a fresh SD-card, please follow the instructions as given in the first announcement:
https://genodians.org/nfeske/2023-02-01-mobile-sculpt
Have fun with trying out the new image!
Cheers Norman
Hello again,
while playing with the new image, I already encountered a few caveats worth sharing.
- When entering a wrong WPA passphrase, the touch-screen keyboard does not re-appear. As a workaround, touch the network section (folding it) and touch it again (unfolding it). Now the keyboard should re-appear. I guess the toggling of the touch-screen-keyboard needs a bit more work.
- When a lot of things are shown on screen, touch events are handled slowly or be missed. I.e., when inserting a WPA passphrase, one should type slowly.
- When playing videos on the web browser, the sound is somewhat distorted, like overdriven.
- While scouting for components in the depot menus of the various pre-configured providers (besides me), you won't find many working components. That is because the image still pretends being a Sculpt 22.10 system while not actually being binary-compatible with this version. This inconsistency will disappear with the upcoming official release of Sculpt 23.04.
A few tips for your experimentation:
As a life hack to avoid typing the same WPA passphrase again and again, we can exploit the fact that the underpinning of the system is a regular Sculpt OS. After connecting once to your wireless network, you can do the following:
1. Switch to the system-shell preset
2. Issue the following commands to the system shell
mkdir -p /rw/config/22.10 cp /config/managed/wifi /rw/config/22.10/
Whenever Sculpt OS starts, the content of /rw/config/22.10/ is copied to /config (see [1]). Now, with the hard-defined wifi configuration, we join the AP immediately when the wifi driver comes up. As a minor downside, the interactive AP selection is no longer offered. To revive it, remove the /config/wifi file using the system shell.
Note that also all the other Sculpt OS tricks work. For example, when saving a copy of /config/managed/nic_router to /rw/config/22.10 while being connected to wifi, you can hard-wire the selection of the network uplink to wifi, sparing you the manual activation of wifi right after booting.
Or, as another nicety, if you always want to enjoy the nano3d preset right after boot:
cp /config/presets/nano3d /rw/config/22.10/deploy
Happy tinkering and testing!
Norman
[1] https://genode.org/documentation/articles/sculpt-22-10#Making_customizations...
Dear PinePhone users,
I have just published a new Sculpt image for the PinePhone today:
Having trouble with WiFi -- Installed from scratch on a new micro-SD card ; booted, did "FS: make default + expand" (or maybe the reverse) ; activated WiFi and typed my password. The PinePhone then appears on the "active devices" web interface of my router. Trouble is, all buttons are still disabled in the Software pane, except the "Runtime" one which does open up when I click it. Tried to reboot and re-connect to WiFi, no change...
Might be a compatibility problem with my router (a france telecom "livebox"), where it only "seems" to connect the phone... Will keep watching this space for new evolutions of SculptOS anyhow, would be nice to have 3 different OS'es to run on that device ;)
cd
Hi Cedric,
thanks for testing the current image!
Having trouble with WiFi -- Installed from scratch on a new micro-SD card ; booted, did "FS: make default + expand" (or maybe the reverse) ; activated WiFi and typed my password. The PinePhone then appears on the "active devices" web interface of my router. Trouble is, all buttons are still disabled in the Software pane, except the "Runtime" one which does open up when I click it. Tried to reboot and re-connect to WiFi, no change...
Do you see a valid IP(v4) address in the 'Wifi' dialog after you joined your WiFi network successfully?
Did you also 'Use' the GENODE Partition on the SD card in the storage dialog? (Otherwise the tabs in the Software section apart from 'Runtime' will be disabled.)
Regards Josef
Do you see a valid IP(v4) address in the 'Wifi' dialog after you joined your WiFi network successfully?
Did you also 'Use' the GENODE Partition on the SD card in the storage dialog? (Otherwise the tabs in the Software section apart from 'Runtime' will be disabled.)
Regards Josef
Thanks, that was it indeed, needed to 'Use' the partition. Not sure how I forgot, I must have thought it was implicit from other operations etc. Or maybe I tapped Use and then deactivated it back again.
Now Wi-Fi networking works, I can "check for updates", get the index for "Add.." and so on, and get actual listings.
The software presets don't seem to work though, they go into an infinite loop (reminiscent of that attempt I had made with mobile connectivity climbing up that hill ;) ). I can end the infinite loop by returning to "empty" preset, and the the phone returns to idle. Also tried the "Add" pane, specifically the depot/nfeske branch, but the items I tried (morph 3d, system shell, etc) don't seem to work. I periodically tap the left edge to switch back and forth to "user screen" but it's blank (black).
In some cases the "Status" pane says " diagnostics: x needs y", closes and re-opens loop-de-loop In some cases I get an "!" mark next to the "Software" tab's label (and an empty "Status" pane, no error diag)
That's with a PinePhone 2 GB, and 16 GB SD card. Hope this helps somewhat,
Cedric
Hi Cedric,
thanks for having tested the new image!
Now Wi-Fi networking works, I can "check for updates", get the index for "Add.." and so on, and get actual listings.
The software presets don't seem to work though, they go into an infinite loop (reminiscent of that attempt I had made with mobile connectivity climbing up that hill ;) ). I can end the infinite loop by returning to "empty" preset, and the the phone returns to idle. Also tried the "Add" pane, specifically the depot/nfeske branch, but the items I tried (morph 3d, system shell, etc) don't seem to work. I periodically tap the left edge to switch back and forth to "user screen" but it's blank (black).
It is interesting that the download of the index worked for you (so network connectivity works on principle) but the actual packages didn't. That's strange because both rely in the same infrastructure and tools (same server, same fetchurl program, same TCP/IP stack, same signature key).
To investigate this issue further, we will ultimately need a way to inspect the log without depending on a preset (such as the system shell). I'll have to ponder a bit how to achieve that on target.
Do you happen to own the UART cable for the PinePhone? If yes, I could prepare an image that directs all of Sculpt's log output to the serial.
In some cases the "Status" pane says " diagnostics: x needs y", closes and re-opens loop-de-loop In some cases I get an "!" mark next to the "Software" tab's label (and an empty "Status" pane, no error diag)
The '!' merely indicates that the status tab might have something interesting to tell. From what you describe, I guess that - for some reason - you get an error 404 for some package(s). Since the chosen preset depends on this package, Sculpt tries to install it. But if it is not available, Sculpt will repeatedly fail at doing so, but is quite stubborn about it.
But I'm just guessing. Down the road, we will for sure need to collect such error conditions and reflect them to the user, letting the user decide about retrying failed downloads instead of repeatedly running against the wall.
That's with a PinePhone 2 GB, and 16 GB SD card. Hope this helps somewhat,
The 2 GiB may indeed be a problem because the image assumes a 3 GiB model. I'm noting down [1] that we should at least detect the PinePhone version at boot time and limit the RAM allocations depending on the used variant. The 2 GiB model might not be able to host the heaviest presets but you could at least play with the simple ones without the risk of accessing RAM that isn't there.
[1] https://github.com/genodelabs/genode-allwinner/issues/18
Cheers Norman
It is interesting that the download of the index worked for you (so network connectivity works on principle) but the actual packages didn't. That's strange because both rely in the same infrastructure and tools (same server, same fetchurl program, same TCP/IP stack, same signature key).
To investigate this issue further, we will ultimately need a way to inspect the log without depending on a preset (such as the system shell). I'll have to ponder a bit how to achieve that on target.
Do you happen to own the UART cable for the PinePhone? If yes, I could prepare an image that directs all of Sculpt's log output to the serial.
I don't Though back when making the purchase, I remember seeing the cable in the pine64 web shop and... actually thinking of the reverse use (debugging my laptop by plugging the phone into its serial port to retrieve the Genode LOG). Might not make as much sense though!
Alternatively, down the road when more prioritary features are done, I guess Sculpt could write the log to an ext2fs partition (main or secondary) on the SD card, which could then be removed from the phone and read on a computer. Not sure if that fits in with how it all works, i.e. is it "easy said, easy done" like with an HDD.
But I'm just guessing. Down the road, we will for sure need to collect such error conditions and reflect them to the user, letting the user decide about retrying failed downloads instead of repeatedly running against the wall.
That's with a PinePhone 2 GB, and 16 GB SD card. Hope this helps somewhat,
The 2 GiB may indeed be a problem because the image assumes a 3 GiB model. I'm noting down [1] that we should at least detect the PinePhone version at boot time and limit the RAM allocations depending on the used variant. The 2 GiB model might not be able to host the heaviest presets but you could at least play with the simple ones without the risk of accessing RAM that isn't there.
[1] https://github.com/genodelabs/genode-allwinner/issues/18
Cheers Norman
I could imagine the 2 GB aspect being the culprit, playing a role somewhat, something like : downloading the app index just means getting a text file, so it stays within existing quotas, but downloading a package means downloading a file *and* setting up a PD/RM/RAM quota to actually run the executable inside the package, and the extended quota fails as the request is a little greedy and assumes 3 GB are available... Or something like that. Well come to think of it, Genode would just issue a warning, "requested quota not available in full, reducing to max available", hmmm.
Anyway that tidbit should not be a distraction from testing on the more common phones, 2 GB support can be debugged down the road :^)
cd
Hello,
Sorry for the late response. I have been playing with this new PinePhone image on-and-off for the last couple of weeks, with mixed results.
To recap my situation, I have the 3GB Developer edition, but had problems with my SIM card (which I haven't had the time to dig deeper into yet), so I didn't have voice connectivity with the first image.
Here are a few observations on the new image:
- Wi-Fi does work most of the time. Sometimes it gets stuck scanning, but most of the time it's OK, and I can connect fine with password.
- I love the on-screen keyboard - for my tastes it's better than Apple's or Google's!
- I had some initial problems with the Storage functionality - basically it was unable to write (e.g, the Default button and expanding didn't work). This may have been my fault, since I wrote over the previous image without writing zeros first. When I mounted the SD card in Linux, it complained about the partition table, and offered to fix it. Once I did that, the Default button worked, but Expand still locks up.
- In the Software section, in the "Add" and "Update" tabs, there is a message saying "missing public key for verification". I wonder if there is still a write problem, which might cause cascading problems like this.
- Sometimes after booting, the phone goes into a mode where everything is very sluggish (i.e. unusable), and the screen flickers. The screen looks like it is flipping between two framebuffers, for example, one with all sections closed and one with the Devices section open. The current mode is predominant, but the other one is faintly visible behind it.
One quick thought - is it possible to add a scrollable Log view in Leitzentrale, since getting log data off the device is challenging?
If you want to put out another interim release, I'll try to respond faster. :^)
Thanks!
John J. Karcher devuser@alternateapproach.com
Hi John,
thank you for the report.
- Wi-Fi does work most of the time. Sometimes it gets stuck scanning,
but most of the time it's OK, and I can connect fine with password.
If you observe this situation the next time, may you try restarting the wifi driver in the runtime view? Should you be able to recover connectivity that way, it will make sense to automate its health monitoring and restart (in addition to investigating the error).
- I love the on-screen keyboard - for my tastes it's better than Apple's
or Google's!
Wow, that's a compliment I haven't seen coming. :)
- I had some initial problems with the Storage functionality - basically
it was unable to write (e.g, the Default button and expanding didn't work). This may have been my fault, since I wrote over the previous image without writing zeros first. When I mounted the SD card in Linux, it complained about the partition table, and offered to fix it. Once I did that, the Default button worked, but Expand still locks up.
That sounds like a low-level block-storage problem. It may be worth trying another SD card. When writing the image to the SD-card, please always make sure to use the 'dd' argument 'conv=fsync'.
- In the Software section, in the "Add" and "Update" tabs, there is a
message saying "missing public key for verification". I wonder if there is still a write problem, which might cause cascading problems like this.
The message indicates that Sculpt can find a 'download' file for the selected depot user but no 'pubkey' file. In this case, one can still download packages but you cannot put trust in the integrity of the downloaded content. This situation should only occur when manually adding a download URL using the "Edit" button in the depot-user selection. For the depot users known by the image, the pubkey files should always be available. Hence, this also hints at a storage issue.
- Sometimes after booting, the phone goes into a mode where everything
is very sluggish (i.e. unusable), and the screen flickers. The screen looks like it is flipping between two framebuffers, for example, one with all sections closed and one with the Devices section open. The current mode is predominant, but the other one is faintly visible behind it.
I sporadically observed this weird flickering issue when booting my PinePhone w/o AC, using only the battery. Interestingly, the flickering disappears after a minute or so. Is this the same for you? When using AC + battery, I could not observe it so far. Since it happens quite sporadically, I have not yet found a good way to reproduce it, unfortunately, which makes the investigation quite hard.
One quick thought - is it possible to add a scrollable Log view in Leitzentrale, since getting log data off the device is challenging?
That is certainly a good idea that will be implemented for sure. In the meanwhile, you may try accessing the log under /report/log in the system shell using vim. I usually press 'G' to go to the very end and the arrow keys to go up (key repeat would be nice but doesn't exist yet), or I use '/' search for a specific string - like "wifi" - and repeatedly press 'n'.
Cheers Norman
On 2023-04-24 15:00, Norman Feske wrote:
- Sometimes after booting, the phone goes into a mode where everything
is very sluggish (i.e. unusable), and the screen flickers. The screen looks like it is flipping between two framebuffers, for example, one with all sections closed and one with the Devices section open. The current mode is predominant, but the other one is faintly visible behind it.
I sporadically observed this weird flickering issue when booting my PinePhone w/o AC, using only the battery. Interestingly, the flickering disappears after a minute or so. Is this the same for you? When using AC + battery, I could not observe it so far. Since it happens quite sporadically, I have not yet found a good way to reproduce it, unfortunately, which makes the investigation quite hard.
megi wrote two posts just recently about the display and flipping frames that could be relevant https://xnux.eu/log/#080