Created attachment 147248 [details] Staging patch for Makefile Installing the malo(4) firmware kernel module fails with: ===> Registering installation for malo-firmware-kmod-3.0.0.39_1 pkg-static: lstat(/root/malo-firmware-1.4/work/stage/boot/modules/malofw.ko): No suuh file or directory *** Error code 74 Please find attached patch for staging this port and resolving the issue. The original port was downloaded, as for malo(4) manual, from: http://weongyo.org/project/malo/malo-firmware-1.4.tar.gz NOTE: I’m far from understanding throughly how this (or any other) Makefile works, but the proposed patch works in my set up.
Hi! This is a ports thing! I'd like some help! Thanks! -a
(In reply to Adrian Chadd from comment #1) > Hi! > > This is a ports thing! I'd like some help! > > Thanks! > > -a Hi Adrian. You should maybe wait before wasting your time: the kernel module installs and loads without issues… but the card is not recognized, no dmesg or pciconf output. I had better luck with ndis: it created the module based on the XP driver and the card was recognized, but failed with: ndis0: <IEEE 802.11g Wireless Cardbus/PCI Adapter> mem 0xeb000000-0xeb00ffff,0xeb010000-0xeb01ffff irq 19 at device 8.0 on pci0 ndis0: NDIS API version: 5.0 ndis0: init handler failed device_attach: ndis0 attach returned 6 At first I thought the problem was the lack of firmware, so I repeated the process adding to the Windows driver files the two files (malo8335-h and malo8335-m) packed in: http://weongyo.org/project/malo/malo-firmware-1.4.tar.gz … but the result was the same. I’m quite sure this card is ok (just bought it from a serious shop) but I have no XP computer to test it. I guess I should open different PRs for this, isn’t it? Best regards, Juan
Created attachment 147260 [details] malo-firmware-1.4_2.diff I reviewed it to reduce portlint warnings. % portlint WARN: Makefile: use of DISTFILES with single file discouraged. distribution filename should be set by DISTNAME and EXTRACT_SUFX. WARN: Makefile: Consider defining LICENSE. WARN: Makefile: DISTFILES/DISTNAME affects WRKSRC. take caution when changing them. WARN: Makefile: "NO_PACKAGE" found. do not forget to update ports/LEGAL. WARN: Consider to set DEVELOPER=yes in /etc/make.conf 0 fatal errors and 5 warnings found.
I temporarily comment 'NO_PACKAGE' in order to test it via redports: https://redports.org/buildarchive/20140912234901-6736/
Thanks Carlos, I could have not do it myself. Do you think I should open a new PR for the problem with the driver itself? The chip on this card is expected to be supported but it seems it's not the case and the lack of attention to the firmware port could suggest that it's better to abandon it. Best regards, Juan
(In reply to Juan Ramón Molina Menor from comment #5) > Thanks Carlos, I could have not do it myself. > > Do you think I should open a new PR for the problem with the driver itself? > The chip on this card is expected to be supported but it seems it's not the > case and the lack of attention to the firmware port could suggest that it's > better to abandon it. > > Best regards, > Juan Yes, file a new PR.
(In reply to Carlos Jacobo Puga Medina from comment #6) > (In reply to Juan Ramón Molina Menor from comment #5) > > Thanks Carlos, I could have not do it myself. > > > > Do you think I should open a new PR for the problem with the driver itself? > > The chip on this card is expected to be supported but it seems it's not the > > case and the lack of attention to the firmware port could suggest that it's > > better to abandon it. > > > > Best regards, > > Juan > > Yes, file a new PR. Done: bug 193628.
I can't follow what's going on with this PR. Should it be closed? If not, what needs to be done?
malo(4) is the Marvell Libertas IEEE 802.11b/g wireless network driver. It is included in GENERIC kernel. It requires a firmware kernel module that must be installed through a port that it’s not present in the current ports tree and have to be downloaded from: http://weongyo.org/project/malo/malo-firmware-1.4.tar.gz As this port has not been updated to conform to the new staging infrastructure, these family of NICs cannot work in recent versions of FreeBSD. I guess the solution should be to contact weongyo@FreeBSD.org for replacing the above mentioned file with the patched (staged) one provided by Carlos. Or move the port to the official ports tree and change the malo(4) man page. This is maybe not possible, as hinted in the pkg-descr file: Marvell Libertas 88W8335 firmware files are not free because Marvell refuses to grant distribution rights. As a result, we need to build the firmware using ports. This firmware files are comed from OpenBSD malo driver. http://www.nazgul.ch/malo/malo-firmware-1.4.tgz Hope I understood it well and it helps, Juan
yes, it helps. If I understand this correctly, the original port is in the link mentioned in in the description, and the attachments are patches to that link. Needless to that, that is less than optimal (read unacceptable). A new port needs to be introduced with a shar file: https://www.freebsd.org/doc/en/books/porters-handbook/porting-submitting.html Before this port can advance, I'd like to see a completely up-to-date shar file submitted and all the other patches made obsolete. We also need poudriere logs with stage-qa checks (testport, bulk -t) as a second attachment, at the very least.
Sorry, but I’m not competent enough to tackle such a task. :(
well, there are 4 other people listening to this PR. If one of them can do it, then they should, otherwise we have to close the PR. Superficially I don't see what is so difficult but the task but if you can't do it, so be it.
I’m a mere final user with very little experience in programming. Nevertheless, if nobody steps up I’ll try to fulfil the task.
I'll take it. Thanks, John :)
(In reply to Carlos Jacobo Puga Medina from comment #14) > I'll take it. > > Thanks, John :) And thanks to you Carlos! I had just installed poudriere but was scared about wasting my time and yours by lack of knowledge.
Don't worry about, mate. This weekend I'll attach the shar file.
Created attachment 149270 [details] malo-firmware-1.4.shar Attached shar file according to request.
two minor issues: XPORTREVISION= 2 why does a new port have PORTREVISION set? it should not. change this: X cd ${WRKSRC}/${DRIVERNAME}; ${SETENV} KMODDIR="${KMODDIR}" make all to X (cd ${WRKSRC}/${DRIVERNAME} && \ ${SETENV} KMODDIR="${KMODDIR}" ${MAKE_CMD} all) Is it possible to get verification with poudriere log (attached)?
Created attachment 149274 [details] malo-firmware-1.4.shar It was fixed. Regarding to the poudriere logs, I'm testing it now. Thanks, John :)
Test build logs via poudriere: https://fbsd.es/~cpm/freebsd/poudriere/freebsd:8:x86:32/malo-firmware-kmod-3.0.0.39.log https://fbsd.es/~cpm/freebsd/poudriere/freebsd:9:x86:32/malo-firmware-kmod-3.0.0.39.log https://fbsd.es/~cpm/freebsd/poudriere/freebsd:10:x86:32/malo-firmware-kmod-3.0.0.39.log
Looks good, I'm promoting the PR.
John, I've few doubts about the package, namely the issues listed by portlint: WARN: Makefile: use of DISTFILES with single file discouraged. distribution filename should be set by DISTNAME and EXTRACT_SUFX. WARN: Makefile: Consider defining LICENSE. WARN: Makefile: DISTFILES/DISTNAME affects WRKSRC. take caution when changing them. WARN: Makefile: "NO_PACKAGE" found. do not forget to update ports/LEGAL. and the fact that the port is called 'malo-firmware-1.4' however, the port version seems to be extracted from firmware version, that comes from distfiles and currently is '3.0.0.39', so the package name will be extremely confusing, like 'malo-firmware-1.4-3.0.0.39'. Beside that, what's the '1.4', if the port version is '3.0.0.39'? Mind looking into the Makefile a bit more carefully and help us solve the puzzle?
As a super-quick, untested review: change DISTFILES= ${FWNAME}${EXTRACT_SUFX} to DISTNAME= ${FWNAME} change: WRKSRC= ${WRKDIR} to NO_WRKSUB= yes I don't see any problem with the versions -- I assume 1.4 means something. You'll need to update LEGAL too per portlint warning.
Ok, I will do that tonight.
robak can do it as well -- although it would be nice to get those changes tested.
Created attachment 149727 [details] malo-firmware-kmod.diff Done!
Created attachment 149760 [details] malo-firmware-kmod.shar
A commit references this bug: Author: robak Date: Thu Nov 27 21:57:13 UTC 2014 New revision: 373524 URL: https://svnweb.freebsd.org/changeset/ports/373524 Log: net/malo-firmware-kmod: NEW PORT - Marvell Libertas 88W8335 firmware Marvell Libertas 88W8335 firmware files are not free because Marvell refuses to grant distribution rights. As a result, we need to build the firmware using ports. This firmware files are comed from OpenBSD malo driver. WWW: http://www.nazgul.ch/malo/ PR: 193588 Submitted by: Juan Ramon Molina Menor <info@juanmolina.eu> Changes: head/LEGAL head/net/Makefile head/net/malo-firmware-kmod/ head/net/malo-firmware-kmod/Makefile head/net/malo-firmware-kmod/distinfo head/net/malo-firmware-kmod/pkg-descr head/net/malo-firmware-kmod/pkg-plist
Committed, thanks for your work!