View previous topic :: View next topic |
Author |
Message |
wthrowe Tux's lil' helper
Joined: 19 Aug 2009 Posts: 141
|
Posted: Mon Jun 24, 2019 5:56 pm Post subject: Installing an xpak |
|
|
I am attempting to fix a machine where the network was broken by a wpa_supplicant update. I have a binary package prepared on a different machine that I hope will fix the issue, but I cannot figure out any way to get portage to install it. (The machine in question is very slow, which is why I experimented and prepared a package on another machine, although at this point it would have been faster to copy over the patches and recompile locally.) (And, yes, I used quickpkg before upgrading because I suspected this may be trouble, but the package won't run because portage was preserving a library for it, which is now gone.)
The setup that I think (from Google) should work is /tmp/packages containing All/wpa_supplicant-2.6-r10-3.xpak (everything world-readable) and then running
Code: |
PKGDIR=/tmp/packages emerge -1K wpa_supplicant
|
but emerge just informs me that "there are no binary packages to satisfy "wpa_supplicant"". If I instead run
Code: |
PKGDIR=/tmp/packages emerge -1K /tmp/packages/All/wpa_supplicant-2.6-r10-3.xpak
|
it tells me that file "is not claimed by any package".
Based on comments about binary packages in emerge(1), I have also tried copying the xpak to a file with the extension changed to tbz2. The emerge command requesting just "wpa_supplicant" then prints a warning that the "binary package name is invalid", but otherwise behaves the same as above. Passing the full path to the tbz2 to emerge results in "You need to adjust PKGDIR to emerge this package", which seems kind of promising as it is the first acknowledgement I've gotten from portage that the file actually is a binary package, but as it gives no hint as to how I should adjust PKGDIR it isn't actually very helpful.
I've tried several adjustments to the directory structure, none of which produced better results.
Thanks for any help.
(Apologies for any typos. The lack of an internet connection makes general copy-paste difficult, but if particular things would be useful I can copy them over on physical media.) |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54813 Location: 56N 3W
|
Posted: Mon Jun 24, 2019 7:24 pm Post subject: |
|
|
wthrowe,
See Fix My Gentoo
Be aware that that page has been updated for the new default locations of everything.
xpak sounds wrong. Portage will be expecting a tarball with bzip2 compression. tbz2
You need to create the same path in your packages as the ebuild lives at is your repro.
The portage package binary format is a tarball with metadata tacked on the end in xpak format.
-- edit --
Since you are having network issues, I'll be a bit more direct.
For a Code: | PKGDIR=/tmp/packages |
You need /tmp/packages/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r10-3.tbz2
I missed your /tmp/packages/All. That's a very old way to do things. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
wthrowe Tux's lil' helper
Joined: 19 Aug 2009 Posts: 141
|
Posted: Mon Jun 24, 2019 7:48 pm Post subject: |
|
|
Thank you! Fixing the path did it! (I had previously tried a net-wireless directory, but I'd missed the wpa_supplicant subdirectory.)
The network still doesn't work, unfortunately, but I can start wpa_supplicant now, so that's progress. I'll work on that on my own for a while.
The install worked fine with the xpak, and that's all that portage makes, so I don't know what's going on there.
Code: |
# find packages -name '*wpa_supplicant*'
packages/net-wireless/wpa_supplicant
packages/net-wireless/wpa_supplicant/wpa_supplicant-2.4-r3-2.xpak
packages/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r10-2.xpak
packages/net-wireless/wpa_supplicant/wpa_supplicant-2.4-r3-1.xpak
packages/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r10-1.xpak
packages/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r10-3.xpak
|
|
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54813 Location: 56N 3W
|
Posted: Mon Jun 24, 2019 8:02 pm Post subject: |
|
|
wthrowe,
You should not need to start wpa_supplicant yourself.
The interface controller will do it when it brings the interface up.
If you get two instances of wpa_supplicant running, neither will work. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
wthrowe Tux's lil' helper
Joined: 19 Aug 2009 Posts: 141
|
Posted: Mon Jun 24, 2019 8:08 pm Post subject: |
|
|
Sorry, I meant that
Code: |
/etc/init.d/net.wlan0 restart
|
no longer errors. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54813 Location: 56N 3W
|
Posted: Mon Jun 24, 2019 9:29 pm Post subject: |
|
|
wthrowe,
That's a good sign. The output of dmesg may help pinpoint your problem.
Its too big for a post, so it has to got to a pastebin. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
wthrowe Tux's lil' helper
Joined: 19 Aug 2009 Posts: 141
|
Posted: Tue Jun 25, 2019 4:36 am Post subject: |
|
|
Sorry, I had to run out for a while. Here's dmesg: http://dpaste.com/1NRGAZ6
You may notice that the kernel is very old. The vendor discontinued their kernel fork a long time ago. I should try using a mainline kernel sometime to see if it works acceptably, but I have not done so. I don't know if this might be related to the current problem.
From my own investigations with strace, I've tracked the immediate cause to a response of EOPNOTSUPP from ioctl called from this section of wpa_supplicant's src/drivers/driver_wext.c (inside wpa_driver_wext_set_auth_param)
Code: |
#ifdef CONFIG_IEEE80211W
switch (params->mgmt_frame_protection) {
case NO_MGMT_FRAME_PROTECTION:
value = IW_AUTH_MFP_DISABLED;
break;
case MGMT_FRAME_PROTECTION_OPTIONAL:
value = IW_AUTH_MFP_OPTIONAL;
break;
case MGMT_FRAME_PROTECTION_REQUIRED:
value = IW_AUTH_MFP_REQUIRED;
break;
};
if (wpa_driver_wext_set_auth_param(drv, IW_AUTH_MFP, value) < 0)
ret = -1;
#endif /* CONFIG_IEEE80211W */
|
I don't know what this is supposed to be doing, but since it is apparently not working I'm going to make another package with CONFIG_IEEE80211W disabled and see if that works better. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54813 Location: 56N 3W
|
Posted: Tue Jun 25, 2019 9:57 am Post subject: |
|
|
Moved from Portage & Programming to Gentoo on ARM.
I guessed when you said the kernel was very old ...
Code: | [ 0.000000] CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c53c7f |
Fits better here as its ARM.
Your glibc will be too old for a modern kernel, then the whole house comes tumbling down.
I suspect that you need binary only modules for some of your hardware.
You probably need a wpa-supplicant that is contemporary with your kernel. Your EOPNOTSUPP in your modern wpa-supplcant asking your old kernel to do something that is doesn't know how to do.
How to regress wra-supplicant?
All the ebulids that ever were in fhe Gentoo repo are still online , either in the attic in cvs or in git.
The newest one in CVS is 2005. that's to old for your Mon Mar 18 22:51:27 EDT 2013 kernel. Then it got renamed to net-wireless/wpa_supplicant. That's better.
Choose a version from early 2013 and add it to your overlay. Finding the source files may be a challenge, nope, they are [http://w1.fi/releases/]still there[/url].
Once you bring all the bits together, run Code: | ebuild /full/path/to/ebuild digest |
Now it should emerge. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
wthrowe Tux's lil' helper
Joined: 19 Aug 2009 Posts: 141
|
Posted: Tue Jun 25, 2019 5:55 pm Post subject: |
|
|
NeddySeagoon wrote: | Moved from Portage & Programming to Gentoo on ARM.
I guessed when you said the kernel was very old ...
Code: | [ 0.000000] CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c53c7f |
Fits better here as its ARM.
|
The original question was "How do I install a binpkg?", so it made sense at the time.
NeddySeagoon wrote: | Your glibc will be too old for a modern kernel, then the whole house comes tumbling down.
I suspect that you need binary only modules for some of your hardware.
|
If I would have to upgrade glibc too that would be a massive pain to revert. I'll just stick with what I have, then.
I was using wpa_suuplicant-2.4 until a few days ago, so that should be a good version to stick with.
However, after disabling the option mentioned above I can now connect to the network...sometimes...when running under strace. I'm guessing there is a race condition or something somewhere and small delays from strace make it more likely to succeed. Anyway, I can bring the network up manually after a few tries now, so that will make downgrading (which I think is the correct solution at this point) much easier.
Thanks for all the help. I'll report back if I have any more trouble. |
|
Back to top |
|
|
superdeez n00b
Joined: 10 May 2015 Posts: 63
|
Posted: Sun Oct 01, 2023 5:53 pm Post subject: |
|
|
Wow. How did this happen? Was trying to reply to my modern thread in portage and programming and ended up in a thread on ARM from 2019?
Sorry for the bump. I was in my thread when I pressed reply! Honest! |
|
Back to top |
|
|
|