To recreate this issue... boot the latest Debian 12 netinst ISO and at
the boot menu hit escape then at the boot: prompt type in...
installgui modules=ppp-udeb
Then d-i will start and after choosing language etc... it'll try to find
any see PPPoE concentrators and say they're not detected.
After you can go to 'Execute a shell' and you'll find that they're
actually there and it shouldn't be a problem...
~ # ip link set ens192 up
~ # pppoe-discover -I ens192
Service-Name: datasuite12.13
Access-Concentrator: datasuite12.13
AC-Ethernet-Address: 00:03:97:40:00:3e
--------------------------------------------------
Service-Name: datasuite12.13
Access-Concentrator: datasuite12.13
AC-Ethernet-Address: 00:03:97:3d:80:2b
--------------------------------------------------
I even made a stupid animated GIF to show these steps in action...
https://5r.tf/temp-bugging-me-files/debian-pppoe-broke.gif
It seems someone else 14 years ago wrote about this in bug #587850 but
nothing was resolved and he was told to talk to his ISP.
In this case I work for the ISP, so I'm pretty confident in the fact
that the PPPoE concentrator is there.
I can do more tests if you've got idea where to go from here.
With the help of pham of #debian-boot on OFTC... Problems found so far with /var/lib/dpkg/info/ppp-udeb.postinst - Some lines call 'ps' with a -A argument which this build of busybox doesn't understand (so it doesn't record the process number correctly to try and kill it later) - The '-A' argument passed to pppoe-discovery doesn't seem to exist and so it doesn't run properly - With *some* (but not all) PPPoE concentrators... if pppoe-discovery finds the concentrator... it'll output the details and just sit there without exiting indefinably... so grep never has a chance to process the contents of stdin and find the string 'AC'. This wouldn't be an issue if the busybox version of grep has --line-buffered but it doesn't :) - Ultimately if -Q is used (instead of grepping for 'AC') then you'll get errcode 1 if one isn't found and errcode 0 if one is found... by default this'll take 15 seconds to try (unless you set -t and/or -a). But since the script runs this twice (once without -U and once with -U) then this means a wait of up to 30 seconds, which d-i has to be patient for and allow to happen. - Ultimately if we're happy that pppoe-discovery will time itself out... then does d-i need to kill anything and thus knowing the process ID isn't needed?
It would seem the -A argument (for pppoe-discovery not ps) has been removed as a result of this bug report... #1042881 However this doesn't change that pppoe-discovery seems to indefinitely pause (preventing grep from realising there is an AC) in some circumstances. Ultimately I've logged an issue about this upstream here... https://github.com/ppp-project/ppp/issues/490 But none of this would be an issue if this was rewritten to use -Q instead.
Proposed patch: <https://salsa.debian.org/debian/ppp/-/merge_requests/13>
I can confirm this patch works
Control: tags -1 pending The patch was merged, thanks Chris ! I hope it will be included in Trixie.