π
<-

Screen Issues and more-linux Ti Nspire CX revision Y

Screen Issues and more-linux Ti Nspire CX revision Y

Recently I embarked in a journey to try to run Linux on my calculator, because it was always something that I wanted to do, but I´m having some problems that in their majority are screen related problems.

First of, the thing I´m trying to run is Arch Linux described in this omnimaga article: (https://www.omnimaga.org/ti-nspire-projects/ti-nspire-cx-linux-adventures-(arch-linux-with-x11-internet-audio)/), with the difference being that I´m only running the calculator with a USB OTG and a Y splitter both connected to a power bank and to the PEN Drive on my revision Y calculator with OS 4.5

Now, because this article isn´t really a tutorial. I came across various posts to see how I could make this work, but everytime I tried and the linuxloader would try to load Arch Linux from the Drive, this would happen:

Because of that I also tried to watch for a newer release of linuxloader and the dtb for the CXII and try to run it again, but still nothing.

Then, to test if it was my mistake, I tried the same files I was using on my calculator with the dtb for the CXII on my friend´s Ti Nspire CX II-T and here it is working as I would expect:

But you can see it´s giving an error saying: "---I end Hernel panic not Syncina: VFS: Unable to mount root is en unknown-block(0,0)", which I don´t know what went wrong, but if anybody knows how to solve it, it would also be great to get this to work in friend´s calculator at least.

The thing here is, no meter what I try to do, linux doesn´t seem to run in my calculator for some reason. I also thinked that it could be because of the Y splitter not giving enough power and something, but in my friend´s calculator I was only using the OTG Cable.

Additional:Also tried to run nLoader with the files that can be found here: https://github.com/ndless-nspire/Ndless/issues/282#issuecomment-829606820, but the screen is just infinitely black or becomes white as you can see in the last post that I did in this issue but didn´t comment further because I needed to do more testing and the Y splitter.

Edit:Screenshot of the files in the Linux folder in my calculator

SuperXX

Niveau 7: EP (Espèce Protégée: geek)
Level up: 43.8%

Posts: 66
Joined: 15 May 2021, 10:25
Gender:
Calculator(s):

Re: Screen Issues and more-linux Ti Nspire CX revision Y

Where did you get each of those files from? How exactly does it look like when linux starts? When the "pixel mess" appears initially, is there change of some kind for a second until it stops or is it completely static?

It's possible that the USB constellation triggers a crash or other fatal error in the Linux kernel. If so, simply removing the USB stuff from the device tree would be enough to get it to boot.

If stripping down the DTB to the bare minimum doesn't help, then only a serial connection can provide a clue.

Niveau 8: ER (Espèce Rare: nerd)
Level up: 96.1%

Posts: 208
Joined: 29 Mar 2014, 15:55
Gender:
Calculator(s):

Re: Screen Issues and more-linux Ti Nspire CX revision Y

Vogtinator wrote:Where did you get each of those files from?

List:
dtb´s (both the cx normal and the cxII) and zImage:https://github.com/tangrs/nspire-linux-loader2/issues/7#issuecomment-840887756
start_initrd.tns:https://tiplanet.org/nspire-linux-builds/start_initrd.ll2.tns

The initrd.tns I can´t remember where did I get it, but I´m attaching it to the post.

Vogtinator wrote:How exactly does it look like when linux starts?

First when I open "start_usb.lls.tns" this screen starts to load until all this text appears:

And then, when it leaves the screen, it goes to the other screen in that screenshot above.

Vogtinator wrote: When the "pixel mess" appears initially, is there change of some kind for a second until it stops or is it completely static?

No, to describe it better, that white screen appears and immediately after that, it goes to the "glitchy" screen

Vogtinator wrote:It's possible that the USB constellation triggers a crash or other fatal error in the Linux kernel. If so, simply removing the USB stuff from the device tree would be enough to get it to boot.

If stripping down the DTB to the bare minimum doesn't help, then only a serial connection can provide a clue.

Ok, I definitely don´t know how to remove the USB device tree from the .dtb though. And about the "serial connection" is it the USB-TTL adapter?
Attachments
initrd.tns

SuperXX

Niveau 7: EP (Espèce Protégée: geek)
Level up: 43.8%

Posts: 66
Joined: 15 May 2021, 10:25
Gender:
Calculator(s):

Re: Screen Issues and more-linux Ti Nspire CX revision Y

The DTB is configured to provide a USB device configuration, so the way to use that is by attaching the calculator to a USB host (PC).

The start_usb.ll2.tns script expects a USB host configuration instead, to be able to attach a USB drive to the calc.

USB host mode on CX II is not tested yet and would need some changes in the DTB at least.

Actually, I just gave it a try and with just minimal DTB changes and the kernel module built-in, it doesn't work with my test device here.

So for the time being you'll have to either use the initrd instead of USB storage or use the virtual ethernet adapter and boot from network storage (NFS, CIFS).

I attached a DTB with usb controllers disabled.

And about the "serial connection" is it the USB-TTL adapter?

You'd have to connect a wire to a specific pin on the dock connector, there are some posts about that here in the forum.
Attachments
nspire-cx2-nousb.dtb

Niveau 8: ER (Espèce Rare: nerd)
Level up: 96.1%

Posts: 208
Joined: 29 Mar 2014, 15:55
Gender:
Calculator(s):

Re: Screen Issues and more-linux Ti Nspire CX revision Y

The DTB is configured to provide a USB device configuration, so the way to use that is by attaching the calculator to a USB host (PC).

The start_usb.ll2.tns script expects a USB host configuration instead, to be able to attach a USB drive to the calc.

USB host mode on CX II is not tested yet and would need some changes in the DTB at least.

Actually, I just gave it a try and with just minimal DTB changes and the kernel module built-in, it doesn't work with my test device here.

So for the time being you'll have to either use the initrd instead of USB storage

So here are the results of trying to boot from initrd:

First of, for the Ti Nspire CX the same glitchy screen issue persists and it even happens with firebird emu, which I, of course, used the same .img´s my calculator uses.

I even tried disabling in setting the debugger to open automatically when an error occurs, but the serial monitor had the same output.

Of course I remembered to test this because it might help you without me having to do the tedious process of making the serial connection to work, but still if it´s really necessary, I´ll probably take a look next weekend.

As an attachment, the full .txt of the serial monitor output will be there.

Now about my friend´s CX II?
Well I used the initrd I was using and used that .dtb you linked, and I actually realised the the busybox configbuild from here: https://tiplanet.org/nspire-linux-builds/initrd.tns and it seemed to work actually:

Here are the commands I used in linux loader:
Code: Select all
kernel linux/zImage.tnsdtb linux/nspire.dtb.tnsinitrd linux/initrd.tnscmdline root=/dev/ramboot

And here is a result screenshot of the result:

(P.S. I don´t really know how busybox works)

Now, to add up, I don´t know how to make initrd´s with costum linux builds, I actually tried grabbing a .tar.gz image and put .tns extension but of course it gave an error on my friend´s calculator (the same as the USB one)

or use the virtual ethernet adapter and boot from network storage (NFS, CIFS).

Now, that seems pretty complicated, for now I´ll not focus on that, but if I see it´s worth to make a more robust ditro to run in my calculator, I´ll try to do that in the future.

You'd have to connect a wire to a specific pin on the dock connector, there are some posts about that here in the forum.

Oh yes, I actually bricked my calculator once, it was not a nice experience.
Attachments
serialmonitoroutput.txt

SuperXX

Niveau 7: EP (Espèce Protégée: geek)
Level up: 43.8%

Posts: 66
Joined: 15 May 2021, 10:25
Gender:
Calculator(s):

Re: Screen Issues and more-linux Ti Nspire CX revision Y

For some reason I thought that your calc was also a CX II, which is why I suggested to try a CX II DTB with USB disabled. Your calc is a CX (I) though, where USB host mode should actually work (at least it did in the past). USB initialization should also happen later than the console initialization.

The great news is that you were able to reproduce the issue within firebird, that makes debugging much much easier! The "Warning: Bad read_word: 90140020" means that you're using a DTB for the CX II, which is not quite compatible. At least here (OS 4.2 HW-W in FB) it still gets to the console even with the wrong DTB though. I tested with the various files downloaded from the locations you mentioned, so the setup should be fairly close.

Another difference I can spot is that for some reason linuxloader2 does not print the commands it's executing to the serial console. It should look like this:

Code: Select all
Serial number: 00 rev1 (CAS)kernel linux/zImage.tnsKernel successfully loadedinitrd linux/initrd.tnsInitrd successfully loadeddtb linux/dtb.tnsDTB successfully loadedboot
I don't understand how that can happen, but the commands appear to run successfully, so it might be a red herring.

What you can try next to get some output from the kernel in firebird is to use

Code: Select all
cmdline root=/dev/ram debug earlycon=pl011,0x90020000
in the ll2 script.

On your CX (I), did you edit start_initrd.ll2.tns to use the correct path to the DTB file? By default it uses dtb.tns as filename, not nspire-cx.dtb.tns. Having no DTB or a broken one would explain the boot failure.

I should also mention that even when the kernel boots fully and the console is visible, the generic nspire-cx.dtb does not contain the matching information for the LCD of HW-W+ calcs, so it'll be distorted and look a bit like "snow" on the black background. Should be clearly distinguishable from the random color bars though.

Niveau 8: ER (Espèce Rare: nerd)
Level up: 96.1%

Posts: 208
Joined: 29 Mar 2014, 15:55
Gender:
Calculator(s):

Re: Screen Issues and more-linux Ti Nspire CX revision Y

Vogtinator wrote:For some reason I thought that your calc was also a CX II, which is why I suggested to try a CX II DTB with USB disabled. Your calc is a CX (I) though, where USB host mode should actually work (at least it did in the past). USB initialization should also happen later than the console initialization.

No problem, that explains why I wasn´t really understanding what were you saying at first and I started to think that the USB has direct impact with screen issues. Nevermind, but at least thank you for the explanation for the CX II.

The great news is that you were able to reproduce the issue within firebird, that makes debugging much much easier! The "Warning: Bad read_word: 90140020" means that you're using a DTB for the CX II, which is not quite compatible. At least here (OS 4.2 HW-W in FB) it still gets to the console even with the wrong DTB though. I tested with the various files downloaded from the locations you mentioned, so the setup should be fairly close.

Actually any .dtb targeted for the nspire cx also gives the problem, that why I searched for HW-W screen issues, because I already knew that the screen from HW-W was different then the HW-Y and anything above W and found this issue (https://github.com/tangrs/nspire-linux-loader2/issues/7#issuecomment-840887756) which I downloaded the archive.zip and tried the nspire-cx.dtb and the nspire-cxII.dtb but they both have the same outcome and other nspire-cx.dtb I tested gave it too like this one: https://tiplanet.org/nspire-linux-builds/devicetree/nspire-cx.dtb

Another difference I can spot is that for some reason linuxloader2 does not print the commands it's executing to the serial console. It should look like this:

That I know why, I opened linuxloader and inserted the commands manually. For some reason my start_initrd.tns does this:

Which really doesn´t make sense, because if I manually execute them it works. But ok, for now I´ll ignore this.

What you can try next to get some output from the kernel in firebird is to use

CODE JAVASCRIPT : SELECT ALL
cmdline root=/dev/ram debug earlycon=pl011,0x90020000
in the ll2 script.

Ok so now the screen gets black but the debugger as more info, I´ll leave the .txt´s as an attachment

On your CX (I), did you edit start_initrd.ll2.tns to use the correct path to the DTB file? By default it uses dtb.tns as filename, not nspire-cx.dtb.tns. Having no DTB or a broken one would explain the boot failure.

I´ve edited the name of the file to nspre-cx.dtb.tns and it´s in the linux folder, so I think it´s ok. And it says it loaded the .dtb so I think it´s working

I should also mention that even when the kernel boots fully and the console is visible, the generic nspire-cx.dtb does not contain the matching information for the LCD of HW-W+ calcs, so it'll be distorted and look a bit like "snow" on the black background. Should be clearly distinguishable from the random color bars though.

Uhm, so where can I find a .dtb for my calculator? All of them just say nspire-cx.dtb and all of the ones I tested didn´t worked.

And thank you once more for your help of course.
Attachments
serialmonitoroutput2.txt
debugger.txt

SuperXX

Niveau 7: EP (Espèce Protégée: geek)
Level up: 43.8%

Posts: 66
Joined: 15 May 2021, 10:25
Gender:
Calculator(s):

Re: Screen Issues and more-linux Ti Nspire CX revision Y

SuperXX wrote:
Vogtinator wrote:For some reason I thought that your calc was also a CX II, which is why I suggested to try a CX II DTB with USB disabled. Your calc is a CX (I) though, where USB host mode should actually work (at least it did in the past). USB initialization should also happen later than the console initialization.

No problem, that explains why I wasn´t really understanding what were you saying at first and I started to think that the USB has direct impact with screen issues.

Which is somewhat true - USB can cause issues during boot. Normally an error message is visible though.

Nevermind, but at least thank you for the explanation for the CX II.

The great news is that you were able to reproduce the issue within firebird, that makes debugging much much easier! The "Warning: Bad read_word: 90140020" means that you're using a DTB for the CX II, which is not quite compatible. At least here (OS 4.2 HW-W in FB) it still gets to the console even with the wrong DTB though. I tested with the various files downloaded from the locations you mentioned, so the setup should be fairly close.

Actually any .dtb targeted for the nspire cx also gives the problem, that why I searched for HW-W screen issues, because I already knew that the screen from HW-W was different then the HW-Y and anything above W and found this issue (https://github.com/tangrs/nspire-linux-loader2/issues/7#issuecomment-840887756) which I downloaded the archive.zip and tried the nspire-cx.dtb and the nspire-cxII.dtb but they both have the same outcome and other nspire-cx.dtb I tested gave it too like this one: https://tiplanet.org/nspire-linux-builds/devicetree/nspire-cx.dtb

Another difference I can spot is that for some reason linuxloader2 does not print the commands it's executing to the serial console. It should look like this:

That I know why, I opened linuxloader and inserted the commands manually. For some reason my start_initrd.tns does this:

Ah, ok.

Which really doesn´t make sense, because if I manually execute them it works. But ok, for now I´ll ignore this.
That happens when using a Windows editor to edit text files. Those use incompatible line endings (CRLF instead of just LF). Try using an editor which supports "Unix" line endings.

What you can try next to get some output from the kernel in firebird is to use

CODE JAVASCRIPT : SELECT ALL
cmdline root=/dev/ram debug earlycon=pl011,0x90020000
in the ll2 script.

Ok so now the screen gets black but the debugger as more info, I´ll leave the .txt´s as an attachment

Those messages mean that it actually booted until the login prompt! There should be more on the serial console, but you can try cmdline root=/dev/ram debug console=tty0 anyway.

On your CX (I), did you edit start_initrd.ll2.tns to use the correct path to the DTB file? By default it uses dtb.tns as filename, not nspire-cx.dtb.tns. Having no DTB or a broken one would explain the boot failure.

I´ve edited the name of the file to nspre-cx.dtb.tns and it´s in the linux folder, so I think it´s ok. And it says it loaded the .dtb so I think it´s working
Sounds good.

I should also mention that even when the kernel boots fully and the console is visible, the generic nspire-cx.dtb does not contain the matching information for the LCD of HW-W+ calcs, so it'll be distorted and look a bit like "snow" on the black background. Should be clearly distinguishable from the random color bars though.

Uhm, so where can I find a .dtb for my calculator? All of them just say nspire-cx.dtb and all of the ones I tested didn´t worked.

And thank you once more for your help of course.
IIRC I saw one floating around at some point, but no idea where that was. It's basically just copying the LCD section from the CX II DT into the CX one and adjusting the rotation. For now let's try to get it to boot at all first...

Niveau 8: ER (Espèce Rare: nerd)
Level up: 96.1%

Posts: 208
Joined: 29 Mar 2014, 15:55
Gender:
Calculator(s):

Re: Screen Issues and more-linux Ti Nspire CX revision Y

That happens when using a Windows editor to edit text files. Those use incompatible line endings (CRLF instead of just LF). Try using an editor which supports "Unix" line endings.

I was using Notepad++ so that explains it. Now I created with Ubuntu and it´s working

Those messages mean that it actually booted until the login prompt! There should be more on the serial console, but you can try cmdline root=/dev/ram debug console=tty0 anyway.

Ok, I did that but the output in serial console and debugger seems to be the same as last time. (Except now it printed the commands because start_initrd is working)

I´m sending them as attachments as always.

IIRC I saw one floating around at some point, but no idea where that was. It's basically just copying the LCD section from the CX II DT into the CX one and adjusting the rotation. For now let's try to get it to boot at all first...

Ok. Let´s see what happens then.
Attachments
debugger2.txt
serialmonitoroutput3.txt

SuperXX

Niveau 7: EP (Espèce Protégée: geek)
Level up: 43.8%

Posts: 66
Joined: 15 May 2021, 10:25
Gender:
Calculator(s):

Re: Screen Issues and more-linux Ti Nspire CX revision Y

Ok, I did that but the output in serial console and debugger seems to be the same as last time. (Except now it printed the commands because start_initrd is working)

Does it behave the same on hardware?

If so, it's unlikely to be something specific to HW or emulation. It's more likely to be something they have in common, like a setup issue (corrupted files, typo somewhere) or other shared properties. I assume you dumped boot1 and manuf from your calc and used that to set up firebird? Can you set up a new flash image without specifying a manuf (HW-W as subtype) and try with that?
There might be a difference between HW-W and HW-Y in the manuf which breaks it.

Which version of Firebird are you using? You could also try to boot linux with the JIT disabled, by entering "t-" and "c" as debugger commands before running the script.

Niveau 8: ER (Espèce Rare: nerd)
Level up: 96.1%

Posts: 208
Joined: 29 Mar 2014, 15:55
Gender:
Calculator(s):

Next

Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: No registered users and 10 guests

-
Search
-
Social
-
Featured topics
123
-
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !

-
Stats.
735 utilisateurs:
>685 invités
>45 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)

-
Other interesting websites
Texas Instruments Education
Global | France
(English / Français)
Banque de programmes TI
ticalc.org
(English)
La communauté TI-82
tout82.free.fr
(Français)