this post was submitted on 19 Feb 2024
262 points (99.6% liked)

linuxmemes

20880 readers
13 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 

Running dmesg on PinePhone reveals that idiot firmware is bored.

top 23 comments
sorted by: hot top controversial new old
[–] [email protected] 74 points 9 months ago* (last edited 9 months ago) (2 children)
[26383.139688] anx7688 0-0028: recv ocm message cmd=0xf2 01 f2 Ød
[26383.139732] anx7688 0-0028: received HARD_RST, idiot firmware is bored

This indicates that the PinePhone is encountering issues with the anx7688 modem driver and is receiving a Hard Reset (HARD_RST). The "idiot firmware is bored" is likely a humorous or sarcastic remark about the perceived quality or stability of the modem firmware causing this issue.
Based on the "bored" remake, I assume it probably has to do with some sort of wake state, where after some time of not receiving signals the modem hardware turns off then doesn't wake when signals are sent, requiring a hard reset to power on, but that's just speculation.
The PinePhone uses a power management processor called "CRUST" to achieve great standby numbers, but it can lead to issues with the modem waking up after deep sleep, so I believe my speculation is plausible.
Maybe a possible fix would to be to send the modem dummy "do nothing" packets or signals at repeating intervals to keep the hardware awake.

Edit : my speculation here seems incorrect, thus the solution is incorrect as well.
See below.

[–] [email protected] 17 points 9 months ago (2 children)

This indicates that the PinePhone is encountering issues with the anx7688 modem driver and is receiving a Hard Reset (HARD_RST). The “idiot firmware is bored” is likely a humorous or sarcastic remark about the perceived quality or stability of the modem firmware causing this issue.

Tell me you used ChatGPT without telling me you used ChatGPT.

[–] [email protected] 20 points 9 months ago* (last edited 9 months ago) (1 children)

I actually did not... ~~chatgpt isn't the only ai that exists (⁠◠⁠‿⁠◕⁠)~~

Tbf, my writing style is already quite AI-like due to constantly reading documentation.
Unironically, that's not even the bit written by AI. The only part that is,

the BC 1.2 result indicating the USB charging mode, and the change in the charge controller status.

As I had no clue what the hell "BC 1.2" was indicating and didn't want to go digging around in the docs for something that obscure. Other things, like "HARD_RST" being a hard reset signal is kinda obvious, imho. I will admit, some is pulled straight from the docs though.

The PinePhone uses a power management processor called "CRUST" to achieve great standby numbers.

Verbatim ripped from the PinePhone docs, that's why it reads more like an advertisement trying to hype up the power management, lol.

P.S. I use uncensored Llama.
P.P.S. I have reading OCD when it comes to my own messages, that's why 99% of them are edited.
P.P.P.S. I put my comment through Llama just now asking it to "AI-ify" it and it's less AI-like then my actual writing : 1000001132
Or maybe it's more, because honestly who the hell says "tongue-in-cheek"?

[–] [email protected] 3 points 9 months ago (2 children)

What's with all the back slashes? \ why not use a regular...

...line break?

[–] [email protected] 8 points 9 months ago* (last edited 9 months ago) (2 children)

\ is a line break in markdown.
Your client seems to not support markdown properly.
Also, I don't like the look of blank new lines where they're not necessary; stylistic choice.

[–] [email protected] 4 points 9 months ago (1 children)

First time I hear that. The usual Markdown line break is two spaces at the end of the line.

[–] [email protected] 4 points 9 months ago (1 children)

It's how Reddit & GitHub flavored markdown works.
Never heard of using two spaces...

[–] [email protected] 3 points 9 months ago

Interesting. Both also support two spaces which I've always used there as well. So weird that I've never seen this way of doing it.

[–] zolax 2 points 9 months ago

can second this, they look kinda strange to me

[–] [email protected] 5 points 9 months ago

I don't see any backslashes, but a bunch of regular line breaks

[–] [email protected] 13 points 9 months ago

Remember the whole "it is impossible to distinguish between AI written text and human" that OpenAI said?

So maybe, something that looks like AI is because that is the exact point of AI?

I feel like these days any detailed reaponse is associated with AI, as if detailed people that like to explain don't exist.

-This was generated by MyOwnDamnBrain™

[–] [email protected] 12 points 9 months ago* (last edited 9 months ago) (1 children)

Ah, that makes sense! I didn't realise that it was the modem. It runs proprietary firmware, which developers can't really replace.

Edit: I noticed this message when trying to plug in USB devices while the keyboard addon is attached. For some reason USB devices only work without the keyboard. But I couldn't find any mention of this other than some old bug that has already been fixed.

The modem does have issues with waking up from sleep and I sometimes have to restart it with a script. WiFi has a similar problem.

[–] [email protected] 16 points 9 months ago* (last edited 9 months ago) (1 children)

I see, with that in mind the other lines in the output make more sense.

[26380.765876] anx7688 0-0028: enabling vbus_in power path
[26381.373155] anx7688 0-0028: BC 1.2 result: SDP

They show the modem's power path being enabled, the BC 1.2 result indicating the USB charging mode, and the change in the charge controller status. These lines are related to the modem's power management and charging behavior.

Finally, the output :

[26398.882595] anx7688 0-0028: cc_status changed to CC1 = SRC. Open CC2 = SRC.Open

Is related to the anx76880 USB Type-C controller on the PinePhone, indicating a change in the CC (Communication Channel) status, specifically stating that CC1 is now in the SRC (Source) state and CC2 is in the SRC.Open state.

My speculation then, doesn't seem quite right.
It seems that the modem is behaving improperly when the USB power management state is changed. When plugging in the keyboard along with the other USB devices, it triggers a USB power state change, which makes sense as it needs power from the USB port to work, but the modem firmware seems to improperly handle that change and probably hard crashes and turns off the hardware, then requires a hard reset to power back on which is detected by the "idiot firmware is bored" mechanism that sends the hard reset signal.

As for :

For some reason USB devices only work without the keyboard

That seems unrelated to this specific output. This maybe tangentially related however, pointing to a possible underlying root cause. I recommend looking into the journald logs and see if you can find other related messages. For this, Kjournald is a really good GUI that can help sort the messages.

[–] [email protected] 5 points 9 months ago* (last edited 9 months ago) (2 children)

Just to clarify, this is the keyboard addon that I was talking about. It has a built-in battery. It has a button on the side that lets you toggle the battery on and off. When I disable the battery and plug in a USB mouse, it will work, just as it does without the addon. But not with the battery enabled. So the extra battery must be interfering with the power to the USB port somehow. Surprisingly the result is the same even when plugging in a powered USB-C hub with the mouse plugged into it.

When I disable the battery, then plug in the mouse and then enable the battery again, the mouse will keep working.

I don't know much about the hardware, though. I'm even surprised that the modem has something to do with delivering power to devices.

Edit: I guess misunderstood some things. anx7688 seems to be a USB controller. The modem is separate from the SoC and is connected internally via USB. But maybe it's not a problem with the modem in this case, but with the controller.

[–] [email protected] 9 points 9 months ago* (last edited 9 months ago)

Edit: I guess misunderstood some things. anx7688 seems to be a USB controller. The modem is separate from the SoC and is connected internally via USB. But maybe it's not a problem with the modem in this case, but with the controller.

That's my bad, I should've specified that anx7688 is the USB-C bridge driver controlling all USB devices along with the modem.
In this case the modem is being effected by the USB charging state & USB-C peripherals over CC pins from anx7688.

Your other issues are very likely tangentially related to the modem error messages caused by an underlying issue within the anx7688 USB-C bridge driver's controller.

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago) (1 children)

The modem is separate from the SoC and is connected internally via USB.

I guess that's a pinephone thing, to keep modem and phone separate? How is it usually connected, with all the things it can do on your phone?

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago)

Yeah, it's to isolate the modem and I think it's done the same way in Librem 5. Both phones also have a killswitch that lets you power off the modem. As far as I know other phones instead have the modem built into the SoC and there is some isolation too, but I don't really know how that works and I guess it's done by the chip's manufacturer (but I'm not sure).

Like the Librem 5, the PinePhone uses separate cellular baseband and Wi-Fi/Bluetooth chips. Together with the hardware kill switches, this results in larger printed circuit boards (PCBs) and less energy efficiency compared to the mass-produced Android phone that has an integrated System on a Chip, such as the Snapdragon, Helio or Exynos. The PinePhone is thinner at 9.2 mm than the Librem 5 which is 15.5 mm thick because the PinePhone solders its wireless communication chips to the PCB whereas the Librem 5 places the cellular baseband and Wi-Fi/Bluetooth on two removable M.2 cards.[1][18][19]

https://en.wikipedia.org/wiki/PinePhone

[–] [email protected] 9 points 9 months ago

Hey that's me

[–] [email protected] -3 points 9 months ago (2 children)

"Your not bored, your boring"

[–] [email protected] 13 points 9 months ago (1 children)
[–] [email protected] 4 points 9 months ago

Digging tunnels.

[–] [email protected] 6 points 9 months ago (1 children)
[–] [email protected] 2 points 9 months ago