I think I bricked Jolla C

Hello,

I’ve got myself intro trouble. My Jolla C ran out of space on the system partition and I thought that it would be a good idea to purge some packages and reinstall them in order to get rid of orphaned files. That was surely not sane at all…

Somehow I uninstalled some important RPM packages via rpm -e --nodeps. Those included droid-config-l500 and few similar ‘protected’ packages. I planned to reinstall them immediately with zypper, but that failed (zypper no longer could use proper URLs). I rebooted the phone and got into boot loop. Then I decided to revert to factory settings and rebooted into recovery mode. And this is where I’m stuck right now.

I tried to connect Jolla C to several Linux machines, but none of them could bring up the Ethernet over USB connection. I see the network interface but can’t get an IP address. Therefore, telnet 10.42.66.66 doesn’t work (no route to host).

Here are some details:

ip a
...
3: enp0s11u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 7e:bd:53:af:a0:f0 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::a1c7:f055:5f26:ef3d/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
sudo dhclient enp0s11u1

// stuck with no result and then timeout
sudo dhcpcd enp0s11u1

dhcpcd-9.4.0 starting
DUID 00:04:19:53:84:67:d3:f7:db:45:ad:4f:c4:b8:ba:cc:c6:c1
/lib64/dhcpcd-hooks/50-ypbind: line 72: syntax error near unexpected token `;'
/lib64/dhcpcd-hooks/50-ypbind: line 72: `       ;'
/lib64/dhcpcd-hooks/50-ypbind: line 72: syntax error near unexpected token `;'
/lib64/dhcpcd-hooks/50-ypbind: line 72: `       ;'
enp0s11u1: IAID 53:af:a0:f0
enp0s11u1: soliciting an IPv6 router
enp0s11u1: soliciting a DHCP lease
enp0s11u1: probing for an IPv4LL address
ps_bpf_recvmsg: Invalid argument
ps_bpf_recvmsg: Invalid argument
ps_bpf_recvmsg: Invalid argument
enp0s11u1: using IPv4LL address 169.254.215.24
enp0s11u1: adding route to 169.254.0.0/16
enp0s11u1: adding default route
ps_bpf_recvmsg: Invalid argument
/lib64/dhcpcd-hooks/50-ypbind: line 72: syntax error near unexpected token `;'
/lib64/dhcpcd-hooks/50-ypbind: line 72: `       ;'
forked to background, child pid 2027
lsmod | grep rndis

rndis_wlan             69632  0
rndis_host             24576  1 rndis_wlan
cdc_ether              24576  1 rndis_host
usbnet                 65536  3 rndis_wlan,rndis_host,cdc_ether
cfg80211             1294336  1 rndis_wlan

So, let me summarize my questions:

  • is my recovery mode broken or I just do smth wrong to use it?
  • if it is broken, what are the options?
  • could it be issues with RNDIS/CDC driver used in Linux?
1 Like

Do you use an USB3 port on your computer (blue socket)? If yes, try using an USB2 port (white socket) or an USB hub that has USB2 ports (white socket) and try again. Also check USB cable, try a few different ones. (There are some issues with SFOS and USB3 at boot time)

Yes, that was USB 3. Right now I only have a Lenovo laptop only with USB3 ports. I need some time to find a machine with older USB2 ports.

I’m still curious, is Jolla recovery mode completely isolated from the main OS? If it is, I have some chances…

1 Like

You can use your current machine. Use an USB hub with USB2 socket. That’s enough, computer may habe USB3 port. My computer also has only blue USB3 ports but with using the USB hub’s white USB2 ports flashing works fine.

Perhaps you could change the BIOS values in your Lenovo from USB 3.0 to USB legacy if you don’t find an older machine.

Once i also had to install some firmware on a dj-controller and without usb(3)-hub there were only 500mah, but with one attached the needed 900mah… For xperias, i have to use a cheap usb(2)-hub for flashing on many thinkpads. Dunno if jollas are also affected by this usb-quirk.
Edit: and always mind the dust in your usb-port

Thank you everyone for the advice! So far I cannot fully test the USB part: my Lenovo laptop doesn’t let me choose between USB 3 and Legacy modes, and I have only one micro-USB cable to test the device with.
I did a passthrough of Jolla C to several VirtualBox machines configured to use “USB 2 Control (OHCI+EHCI)” and running Linux. I think that did a similar thing to what @Seven.of.nine suggested: use older USB2 over real USB3. No luck so far.

I guess I need another PC, some other micro-USB cables, maybe try Windows or macOS. Still not sure if the issue is about connections or something else. I’ll be back when I have anything more to report.

Are you able to reach fastboot? May be you could use twrp then… Also sometimes you need write access on the usb device on linux and drivers for windows

Sorry, how to use fastboot? My phone doesn’t boot at all, see the first post.

Fastboot upon Jolla C = Power off, hold Vol Down and connect to PC

1 Like

Yes, it goes to fastboot, and I see this:

lsusb
Bus 001 Device 072: ID 18d1:d00d Google Inc. Xiaomi Mi/Redmi 2 (fastboot)

However, no network interface appears when I do ip a.

Really should check with a different machine and cable…

I gathered all USB-workarounds which were denoted as successful in a section of my installation guide. You may not have tried them all, yet.

1 Like

I’ve just re-checked with two different USB cables and two different machines (Mac and Linux). And with USB2 ports. Sadly, there is no good news.

I’m still wondering, could I pissibly corrupt the recovery environment from within the main OS?
Also, If i do fastboot and see (lsusb) my Jolla C either as Google/Redmi device, or as a Quallcom modem, does it really help? How can I reflash it?

On some boards, the usb2-ports use the same chip as usb3. Try an old usb2-hub, may be it works. In the thread i posted (wrong post any way), there are flashing instructions. Might be enough to flash only system partition… For saving your data (before flashing home partition) you could either try sailfish recovery or twrp. You can boot into it with fastboot, search the forum or the old one for instructions. For twrp have a look at xdadevelopers…

To whom it may concern: I managed to unbrick the phone.
What I did is downloaded the SFOS (SailfishOS-l500d-eu-lvm-4.6.0.11-l500d-1.0.0.12.tar.bz2) from MEGA, and flashed it to Jolla C while in the fastboot mode according to these instructions. It all worked fine!

6 Likes

Congrats! Very nice to read!