Chestnut has arrived

That is a surprisingly polished custom battery case for a temporary battery that won’t even be in the final phone!

Not sure what you are refering to, but here is a picture with screen turned on.

6 Likes

That doesn’t quite work, since because the default UI hides them, it is only visible in full-screen applications: Why does the Librem 5 have bevelled edges, and what does this mean for alternative compositors?.

1 Like

Oh I see, what can I try to see how it display?

I would think a fullscreen video would be enough. If not, some game ought to work.

1 Like

@purismforum, If you don’t mind, I would like to find out if we can detect the cameras.

Can you first install the following packages:
sudo apt install device-tree-compiler i2c-tools

Then, switch to root and save the terminal output to a text file:
sudo -s
script ~/findcameras.log

Now let’s see if we can find the cameras:
dmesg | grep -i camera
v4l2-ctl --list-devices
(I’m not sure if you are using video4linux but worth a shot)

i2cdetect -l
ls -l /dev/vid*

dtc -I fs -O dts -o ~/devtree.txt /sys/firmware/devicetree/base

If that doesn’t find the device tree files, then try this to find the device tree binary file:
find / -name "*.dtb"

If you find the .dtb file, then use this command:
dtc -I dtb -O dts -o ~/devtree.txt /path/to/x.dtb
(replace /path/to/x.dtb with the .dtb file that you found using the previous command)

Finally, try this:
find /proc/device-tree/ -type f -exec head {} + | less

Finally stop logging the output and exit as root:
exit
exit

When done, post the contents of your /root/findcameras.log and /root/devtree.txt files. Hopefully, we can find the camera.

2 Likes

Here.

I had to install less + video4linux utils but that does not help much

Here is devtree

Here is findcamera

3 Likes

Thanks @purismforum. The device tree listing says that both the cameras are “imx21”.
I assume that the back camera is the Sony IMX214 CMOS Image Sensor, which according to the product summary supports 4K and 2K at 30 fps and 1080p at 60 fps. Its device listing includes the flash LED and the Wolfson Media WM8962 audio DAC, so maybe it will use that chip for audio processing when filming. This sensor uses 1.2 Gbit/s on 4 lanes, whereas the MIPI CSI-2 interface on the i.MX 8M supports a maximum of 1.5 Gbit/s on 4 lanes, so I assume that the i.MX 8M can’t support an image sensor larger than 16MP.

I assume that the front camera is the Sony IMX219 CMOS Image Sensor (reference manual). It’s max video resolution is 1080p at 60 fps and it doesn’t include the Wolfson DAC in the device listing, so it probably doesn’t use it to process the audio.

Unfortunately, the device listings say that both of the cameras are disabled. Those sensors are nothing special, but Sony’s sensors are generally considered better than comparable sensors from other manufacturers (Samsung, Omnivision, etc.), which is why Sony controls 60% of the image sensor market.

Nice to know what we can expect on the hardware side, but it will probably be a long time before we have good software for the cameras.

14 Likes

@amosbatto glad I helped a bit with the information. :slight_smile:

Oh, one more thing, @purismforum. Would you mind posting the entire output from dmesg ?
dmesg > ~/dmesg.txt

sure here it is dmesg -T on librem5 chestnut full dmesg

FYI I disabled suspend as it crash the phone every time.

2 Likes

Strange. I’m not seeing “camera” in the dmesg output. Try this:
dmesg -s 99999 > ~/dmesg.txt

If that doesn’t work, maybe you have to run dmesg after rebooting to get all the kernel messages.

I just updated it now with dmesg -T -s 99999

1 Like

Thanks. The complete dmesg didn’t tell me anything more about the cameras, but I’m really impressed that it boots in 17 seconds.

The only remaining mystery is who manufactured the LCD screen. Maybe we can get that info from the EDID:
apt install read-edid edid-decode
get-edid | edid-decode
Or if that doesn’t work:
get-edid | read-edid

the 1st one did not work.

here is the 2nd one

get-edid | edid-decode
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
No EDID on bus 2
No EDID on bus 3
Looks like no busses have an EDID. Sorry!
I’m sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern pyrophobicman@gmail.com.
No header found

If it doesn’t use EDID, I wonder how it gets the info about what screen resolutions are supported. That must be programmed somewhere.

Do you see any info about the screen in the /var/log/weston.log file?

If not, edit the /etc/environment file:
sudo nano /etc/environment
and add this line:
WAYLAND_DEBUG=1
Then, reboot and check the contents of the /var/log/weston.log file.

/var/log/weston.log does not exist even with WAYLAND_DEBUG=1

See WAYLAND_DEBUG is set on the wayland process

root@pietro:~# ps -ef | grep -y way
purism 631 1 0 14:51 tty7 00:00:00 Xwayland :0 -rootless -terminate -listen 19 -listen 20 -wm 39
root 1072 1027 0 14:55 pts/0 00:00:00 grep -y way
root@pietro:~# cat /proc/631/environ
MAIL=/var/mail/purismUSER=purismXDG_SEAT=seat0XDG_SESSION_TYPE=ttyHOME=/home/purismDBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/busLOGNAME=purismJOURNAL_STREAM=9:19080XDG_SESSION_CLASS=userTERM=linuxXDG_SESSION_ID=1ETNA_MESA_DEBUG=no_supertilePATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binINVOCATION_ID=4ffa9084ddab48ce86879d715ee7cf52XDG_RUNTIME_DIR=/run/user/1000LANG=en_US.UTF-8SHELL=/bin/bashXDG_VTNR=7PWD=/home/purismWAYLAND_DEBUG=1XCURSOR_SIZE=24DISPLAY=:0_WAYLAND_DISPLAY=wayland-0WAYLAND_DISPLAY=wayland-0WAYLAND_SOCKET=22root@pietro:~#

Maybe you can start another instance of Weston inside of the current instance to get the log:

WAYLAND_DISPLAY=wayland-0 weston -Swayland-1 --log=~/weston.log

Started this way WAYLAND_DISPLAY=wayland-0 WAYLAND_DEBUG=1 weston -Swayland-1 --log=/home/purism/weston.log 2>&1 | tee >~/weston-start.log

weston.log
weston-start.log

Darn! There is no info on the screen in the logs. Info about the screen must be stored somewhere, but I don’t know where it would be stored.

Maybe you can find it by searching for the name of an LCD manufacturer in the entire file system:

sudo grep -r -I -n -i -E "(AUO|Optronics|BOE|ChiMei|Chungwha|Giantplus|Hansol|HannStar|HKC|Iiyama|InnoLux|Japan Display|Kyocera|LG|LXD|NEC Display|New Vision|Mitsubishi|Panasonic|Pioneer|Planar Systems|Samsung|Sakai|Sharp|S-LCD|TCL|CSOT)" /