IRC channel logs

2024-03-29.log

back to list of logs

<damo22>hi
<Pellescours>hi
<AlmuHS>hi. I'm purchasing a bunch of harddisk of different sizes and vendors to check the origin of the hdd detection failure in my ThinkPads when I use rumpdisk
<damo22>i doubt it would make any difference
<damo22>its most likely the bios/controller
<AlmuHS>but i have the same problems in many ThinkPad
<damo22>so?
<damo22>what is the problem exactly?
<AlmuHS>in Compatibility mode the HDD is detected, in AHCI only in the R61i, in which this is detected as IDE
<AlmuHS>the problem is that gnumach don't find the hdd unit when i boot with rumpdisk
<damo22>it could be a bios bug
<damo22>spanning multiple models
<AlmuHS>in qemu the hdd is detected correctly, in my ThinkPads no
<damo22>i recall some kind of inversion with the compat mode and ahci mode
<AlmuHS>at moment, I did tests in T60, R61i, T410 and X220
<damo22>and it might matter if you have the cd rom drive plugged in or not
<AlmuHS>in the R61i I had to enter a CD during the boot
<damo22>are you running the latest bios updates on your machines?
<AlmuHS>I'm not sure
<damo22>perhaps check that
<damo22>lenovo often fixes bugs over time
<AlmuHS>I also test in a T440p without success. But this model is so modern
<damo22>i have a x220
<damo22>i run coreboot on mine
<AlmuHS>in most machines, rumpdisk doesn't detected the cd drive
<damo22>can you tell me a specific model where it fails
<AlmuHS>so I'm installing the system from qemu, connecting the VM to the physical hdd using a USB adapter
<AlmuHS>a specific model is T410
<damo22>i can check the lenovo support website for bios changelog
<damo22>can you get the bios revision
<AlmuHS>i have not the machine now. It's in my office
<AlmuHS>Next week I will check this
<damo22>perhaps make an email to the mailing list with your machine models and all their bios versions
<damo22>and we can check if there are any updates available
<AlmuHS>ok. Next week I will start a bunch of test with my machines
<damo22>and there might be a changelog that says what bugs were fixed
<AlmuHS>I have a bunch of HDD, including some very little, like 40 GB. To be sure that the bug is not related with the size
<AlmuHS>And I want to check another vendors different than Seagate
<damo22>i dont think it will change anything
<damo22> https://pcsupport.lenovo.com/au/en/downloads/ds013882-bios-update-bootable-cd-for-windows-8-32-bit-64-bit-7-32-bit-64-bit-vista-32-bit-64-bit-xp-thinkpad-t410-t410i
<damo22>there are many bios revisions for that board
<AlmuHS>Some ThinkPad has very specific compatibility. By example, the T410 only support Samsung DDR3 modules
<damo22>coreboot does not have that restriction
<AlmuHS>Yeah. Lenovo official BIOS usually includes whitelist to limit the compatibility
<damo22> https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/6iuj29uc.txt
<damo22>that contains the changelog for the bios
<AlmuHS>thanks
<AlmuHS>i don't find any issue related with SATA, only with the mode setting from Windows
<damo22>ok
<damo22>in that case, what problem did you encounter on the t410?
<AlmuHS>simply: when I boot with noide, ext2fs doesn't find wd9
<AlmuHS>wd0
<damo22>ok
<AlmuHS>when I set AHCI mode in the BIOS
<damo22>did you try setting compatibility mode and still use rumpdisk?
<AlmuHS>in compatibility it works, but buggy
<AlmuHS>sometimes failed during the boot
<AlmuHS>other times pixide freeze
<AlmuHS>i put some photos some days ago
<damo22>00:1f.2 SATA controller [0106]: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller [8086:3b2f] (rev 06)
<damo22>that is from a t410
<damo22>perhaps check ahcisata_pci.c
<damo22>that it recognises that id
<AlmuHS>but doesn't find the unit, neither other unit
<AlmuHS>in ext2fs step
<damo22>does it probe the AHCI controller?
<damo22>successfully i mean
<AlmuHS>only get success in qemu
<damo22>in your log you need to check if it says ahcisata0 at ...
<damo22>probing the controller is separate from probing the disk
<damo22>if it cant probe the controller, it will never probe the disk
<damo22>i am also seeing a fail to probe on real hardware on my amd board
<damo22>so there must be a bug somewhere in rump
<AlmuHS>but i can't access to the system if ext2fs doesn't find the hdd
<AlmuHS>in real hardware, i refers
<damo22>you may need to attach a serial port console or get a screenshot
<damo22>of the log
<damo22>my guess is that this function is failing: ahci_pci_match
<damo22>we need to put prints in there and figure out exactly what is happening
<AlmuHS>I have some videos. But I need a better camera to capture the fastest messages
<damo22>the tail of the log may be enough
<damo22>[ 1.0200050] vendor 1022 product 7801 (SATA mass storage, AHCI 1.0, revision 0x40) at pci0 dev 17 function 0 not configured
<damo22>this is the line that tells me my ahci fails to probe
<AlmuHS>yes. This message is very common in my errors
<AlmuHS>I have to check if this message appears in Qemu too or only in the machine that fails
<damo22>yours should be vendor 8086 product 3b2f
<damo22>".... not configured" means failed to probe
<AlmuHS>you can check if this message also appears in qemu when you get a successful boot
<damo22>it does not
<damo22>it says something else
<damo22>ahcisata0 at pci0 blah bah
<AlmuHS>ok, then this could be probably the origin of the failure
<damo22>yes i know
<AlmuHS>i suspect that could be a SATA version problem
<AlmuHS>maybe doesn't support SATA 3?
<damo22>no its most likely a bug with the rump implementation
<AlmuHS>and only have registered SATA 2 models
<AlmuHS>ok
<damo22>eg, some unaligned access or something returning a failed status
<damo22>causing the probe to fail
<damo22>ahci_pci_match, put prints in there and you will see it
<damo22>in buildrump.sh/src/sys/dev/pci
<damo22> /ahcisata_pci.c
<AlmuHS>as a curiosity, when I installed Debian GNU/Hurd 2023 over a 250 GB HDD I had to fix a getty problem which generates /dev//ttyX paths. But in a 60 GB HDD, the same installer didn't generate this problem
<damo22>the gnumach driver has a size limitation i think
<damo22>not rumpdisk
<AlmuHS>i used rumpdisk in the installer
<AlmuHS>but in 2023 version
<AlmuHS>I go to sleep. 5 AM in Spain. Next week I will report the results of the tests
<AlmuHS>bye
<youpi>sneek: later tell AlmuHS better not buy disk, but rather put prints in rumpdisk to see which if decides that there's no disk
<sneek>Got it.
<almuhs>hi
<sneek>almuhs, you have 1 message!
<sneek>almuhs, youpi says: better not buy disk, but rather put prints in rumpdisk to see which if decides that there's no disk
<almuhs>where is "buildrump.sh/src/sys/dev/pci" ?
<almuhs>i don't find ahcisata_pci.c
<youpi>buildrump.sh/src/sys/dev/pci/ahcisata_pci.c:/* $NetBSD: ahcisata_pci.c,v 1.58 2020/12/28 20:01:46 jmcneill Exp $ */
<youpi>it's just there in the rumpkernel source
<almuhs>and... where is the rumpkernel source?
<youpi> http://snapshot.debian.org/package/rumpkernel/ for the very general question
<youpi>but otherwise you have it on http://deb.debian.org/debian-ports/pool-hurd-i386/main/r/rumpkernel/
<youpi>the orig is missing because of a debian-port limitation
<youpi>you have it on my unreleased repo
<youpi> https://people.debian.org/~sthibault/tmp/unreleased/
<youpi>as usual, it would be *very* useful that this kind of information get recorded on the wiki somewhere
<youpi>I can't be "the one" who maintains the wiki, I just can't scale
<almuhs>ok, thanks
<almuhs>the list of vendors and models supported is very reduced
<almuhs>there are not any Seagate, Western Digital or Toshiba
<almuhs>i've just modified ahci_pci_match adding many printf. How can I compile rumpdisk to test it?
<damo22>there are only a few specific controllers mentioned because it does not match always on device id, but uses the pci class instead
<damo22>etc
<damo22>you can compile librump*.deb and then install those, and recompile rumpdisk.static after installing the new libraries
<almuhs>how can i compile librump?
<damo22>its in the rumpkernel package
<damo22>basically, it is the output of that
<damo22>so you compile it like you build any debian package
<damo22>i can help you a bit, i think mine is failing inside pci_mapreg_map()
<damo22>so put prints in there too
<almuhs>this is my modification of achi_pci_match() https://pastes.io/3wt9uwmeu0
<almuhs>there are a second definition of pci_mapreg_map
<almuhs>sys/dev/pci/xmm7360.c:231:#define pci_mapreg_map(pa, reg, type, busfl, tp, hp, bp, szp, maxsize) \
<almuhs>#define pci_mapreg_map(pa, reg, type, busfl, tp, hp, bp, szp, maxsize) \
<almuhs> pci_mapreg_map(pa, reg, type, busfl, tp, hp, bp, szp)
<almuhs>in pci_mapreg_submap(), there are a comment that seems a TODO
<almuhs>if (reg != PCI_MAPREG_ROM && !entry.enabled) {
<almuhs> /* Entry not enabled. Try the regular BAR? */
<almuhs> have_ea = false;
<almuhs> }