Pi 3 bugs
Rick Murray (539) 13850 posts |
Is it only that particular type of device that exhibits this behaviour?
So’s an SD card. We don’t need to wait for them to start up. ;-) High denity Flash memory is quite error prone, so managed storage (SD cards, SSDs, USB keys…) provide an illusion of good reliable media with error correction and bad block management. As capacities increase, the reliability drops (atomic scale entropy), so the sophistication of the management increases. One thing of note is that because of the huge variety of different types of Flash device, it isn’t feasible to create a fixed “ROM image” for the controller. There is actually an undocumented process to update the on-board firmware, as it itself is held in separate Flash in the microcontroller (and is useful for, say, fixing the reported device size). This is how dodgy outfits can fake cards with larger capacities than they really have – they just modify the firmware to report a large size. I wonder how long until somebody comes up with a hack to tweak the firmware of SSD drives? As all data passes through the controller, it isn’t out of the realms of possibility for it to understand rudimentary extfs to, for instance, recognise the passwd file is being asked for, and if conditions are right, to instead present a different one stored in an unused bit of the Flash array. Okay, it’s a bit tricky to imagine this, but there’s a real possibility to have a back door baked right into the controller itself. |
David Feugey (2125) 2709 posts |
It’s constant on my USB SSD, intermittent on my USB HDD. Anyway, data is OK on both. |
Glen Walker (2585) 469 posts |
Haven’t Lenovo been accused of doing just that recently? Also, never mind back doors it sounds like a great place to hide something like stuxnet |
Andrew McCarthy (460) 126 posts |
Utilising the development ROM (6-March-17) and associated files, I have observed a new issue that seems at the moment only to relate to !Writer 1.10 (Nut Pi Edition). It also occurs when dragging and dropping a URL from !NetSurf to !Writer. !Writer crashes with the following error message "Internal error, no stack trap handler: Internal error: abort on data transfer @FC1DD5C8, PC=0008F394: registers at 000CF430. This happens when copying from the global clipboard, when dragging and dropping a URL from !NetSurf or a file from a window to !Writer. A ZeroPain log file is created. |
Steve Pampling (1551) 8172 posts |
I thought there were unresolved issues with Writer. |
Tristan M. (2946) 1039 posts |
I had no idea where to put this but I found two programs that don’t work correctly on the Pi 3 UnTarBZ2. It seems to hang immediately after the creation of the intermediate tar file as it creates a zero byte tar. !Nettle. ssh worked fine on the Pi Zero and B but not on the 3. It allows for the creation of a session, and entry of a username and password but hangs directly after. |
Colin Ferris (399) 1818 posts |
As a quick test – load the !RunImage file into !Zap and search for ‘SWP’ instruction? |
Tristan M. (2946) 1039 posts |
UnTarBZ2 doesn’t seem to. It just seems to be a conglomeration of GNU utilities. Trouble is autobuilder can’t currently build tar. !Nettle seems to have some SWP instructions kicking around. I’ve had this same MicroSD in the Zero, 3 and B. I can confirm Nettle and UntarBZ2 work properly on the B and Zero but not the 3. |
Chris Mahoney (1684) 2165 posts |
Same issue with UnTarBZ2 here. It’s one of the only things keeping me on a Pi 1 (the other known-bad one was PDF, but I saw an update come through PackMan the other day and haven’t retested it yet). |
David Feugey (2125) 2709 posts |
PatchSWP will patch Nettle. Patch to allow !Nettle to work with RPI3/Armv8 Replaces SWP instructions for LDREX/STREX pairs Application:!Nettle &2000 |
dave_j (3231) 50 posts |
|
Mike Freestone (2564) 131 posts |
What about the latest version on riscos.info? can that be updated instead |
dave_j (3231) 50 posts |
That version is not RPi3 compatible. There may be an RPi3 compatible version on Jenkins, http://ci.riscos.info but Jenkins is down. I found a later build of |
Alan Buckley (167) 233 posts |
I’ve rebuilt and uploaded the latest bzip2 package to the riscos.info site. It should appear on the site and in PackMan tomorrow. The new version is 1.0.6-5. If there is anything else on the riscos.info autobuilder site that people require for their Raspberry Pi 3 that doesn’t already work, I am currently setup so I can try a rebuild and upload it if the build is successful. I don’t have a Raspberry Pi 3 to test, so please try things as they are uploaded. |
mcmartin@gmail.com (3234) 1 post |
I’m relatively new to RISC OS, by which I mean I started experimenting with it last Friday after getting it to run on a Raspberry Pi 3. This is a somewhat disjointed account of my adventures trying to get things to run. I’ll be happy to break these out as needed, and the Pi 3 seems to be running it well enough that I can help perform experiments if needed. I built the SD card from RC14 with the latest Pi firmware from Github and the nightly ROM build from the main site. My monitor didn’t really like RISCOS, but lying about its model let me set a 1280×960×75 mode thta worked acceptably well. I’ve heard rumors of EDID support but haven’t figured out how to enable it nor if I have it. This also let MODE 32 work in BASIC, where previously it would complain that it was getting a signal it couldn’t use. I have no idea what caused that difference – perhaps I don’t understand what a “Generic” monitor is compared to similar-enough other models. Speaking of BASIC and thus software development, I also totally managed to use the stock ARM cross-assembler and binutils to produce Absolute programs, albeit not any that did much. But the principle is sound, which is always fun. As for installing other things: PackMan would hang the entire system on launch, such that the only thing I could do was hit Alt-Break and kill the application. PlingStore was not much better. Fortunately, I could download those from elsewhere and drop them into place. This made PackMan work flawlessly but the PlingStore would still crash with a fatal error whenever I tried to contact the servers. Not sure what’s going on there. ZeroPain didn’t list anything. I also wound up manually upgrading NetSurf, and that was fine too. Meanwhile, Nettle worked out of the box after installation. With those two apps installed I was as network-capable as I really needed to be. Most of the other things I tried to install via PackMan didn’t work. AlienBlaster and Mednafen both hung the same way PackMan did pre-patch; xu4 said I needed a better UnixLib; Curl wanted GCC mostly worked, though the native GCC port is awfully alien to someone used to POSIX systems. asasm’s syntax also seems to bear little relationship to that of arm-linux-gnu-as. StrongEd runs fine as far as I can tell, but I’m not comfortable with using it yet. ADFFS produced a ton of complaints in ZeroPain, but it did work, and Zool ran flawlessly on Pi3 and emulation. That was fun to watch go. Hopper, on the other hand, wanted a 320×256 graphics mode that my monitor was unwilling to provide. Meteors, MineHunt, and the other stock Diversions all seemed to work fine, though. I have not particularly played around with the GCC SDK cross tools, though as noted I did do a bit of experimentation with the arm-linux-gnu cross tools and custom linker scripts. Those did perform admirably for basic stuff, but most of the programs I have here that would be worth trying to port will require more work than a few lines of assembly! I’m very interested in being able to port SDL 1.2-based programs to RISC OS – however, I’m not clear on what’s needed to make this happen just yet. Poking around these forums has suggested that I won’t get much further on the RPi3 without a working UnixLib. The purported downloads looked a lot more heavyweight than what it seems like I’d need for xu4 or whatever. |
Rick Murray (539) 13850 posts |
Be careful where you get software from – until recently UnixLib used the SWP instruction, which meant everything feel over on the Pi3. |
Holger Palmroth (487) 115 posts |
Some untested advice: Adding ‘disable_mode_changes’ to CMDLINE/TXT in the Loader partition and loading the AnyMode module (http://www.pi-star.co.uk/anymode/) should stop all mode-related worries at the expense of a little bit of speed. (Untested as my Pi hasn’t been updated for a while now) |
Jon Abbott (1421) 2651 posts |
Are you running the latest release of ADFFS, currently 2.60? Page Zero accesses by ADFFS were switched to legal OS calls, once Jeffrey added some OS extensions for Adrian and myself. As for games themselves, I’ve fixed most Page Zero accesses by correcting the bugs in the code, in the game boot scripts.
They won’t affect speed, but are both required for the Pi to support legacy resolutions and overscan modes. The only side-effect is the Pi will be running at the resolution fixed in CONFIG/TXT and will up/downscale appropriately. |
Rick Murray (539) 13850 posts |
GNU as? Proper ARM code is supposed to look sort of like the RISC OS source – a lot of it was written by the people who designed the ARM, so… ;-) |
Holger Palmroth (487) 115 posts |
Right, mental hick-up here. After decades of Archimedes/RISC PC usage I still associate larger resolutions with speed impact. :) |
Rick Murray (539) 13850 posts |
Happened on PCs as well if you had one that shared system memory with the graphics… |
Holger Palmroth (487) 115 posts |
Now guess who has a poor little Notebook with Intel HD3000 graphics. :) |
Rick Murray (539) 13850 posts |
:-) EeePC901. Dunno what the Intel graphics chipset is, but it sucks. Can barely do 720P H.264 and 1080P is a joke. Stuff the original Pi finds effortless. |
Clive Semmens (2335) 3276 posts |
Which for DTP, bit image graphics, vector graphics, text, code, most web surfing etc. etc. is a matter of no consequence. My early Pi manages 24 Hz at 3840×2160, which is absolutely fine for everything I do. The Mac only manages 30Hz – enough for video editing. |
David Feugey (2125) 2709 posts |
Just patch incompatible software with PatchSWP. And enjoy. |