As posted at http://forums.gentoo.org/viewtopic-t-175465-postdays-0-postorder-asc-highlight-sanebackends-start-25.html#3023800 I created an ebuild for the standalone package of the parallel port SCSI adapter driver suite ppscsi.
Created attachment 77262 [details]
*** Bug 132403 has been marked as a duplicate of this bug. ***
Created attachment 86238 [details]
ppscsi updated to 20060424
Thanks -- works well for me.
Created attachment 107143 [details]
ppscsi-20060424.ebuild w/ cleanup
Removed extraneous dependencies and made more extensive use of linux-mod eclass.
well done with the ebuild, and cheers. Can I suggest the use of a || die after the make? It failed to build on mine (don't worry - it was my fault), but instead of exiting in error, it just ploughed straight on.
Ok, scratch what I saad about it being my fault. Here is the emerge output:
kryten ~ # emerge ppscsi
Calculating dependencies... done!
>>> Emerging (1 of 1) media-video/ppscsi-20060424 to /
* ppscsi-beta2-20060424.tar.gz MD5 ;-) ... [ ok ]
* ppscsi-beta2-20060424.tar.gz RMD160 ;-) ... [ ok ]
* ppscsi-beta2-20060424.tar.gz SHA1 ;-) ... [ ok ]
* ppscsi-beta2-20060424.tar.gz SHA256 ;-) ... [ ok ]
* ppscsi-beta2-20060424.tar.gz size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking ppscsi-beta2-20060424.tar.gz ;-) ... [ ok ]
* Determining the location of the kernel source code
* Found kernel source directory:
* Found sources for kernel version:
>>> Unpacking source...
>>> Unpacking ppscsi-beta2-20060424.tar.gz to /var/tmp/portage/media-video/ppscsi-20060424/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/media-video/ppscsi-20060424/work/ppscsi-beta2 ...
make -C /lib/modules/`uname -r`/build M=`pwd` modules
make: Entering directory `/usr/src/linux-2.6.19-gentoo-r2'
CC [M] /var/tmp/portage/media-video/ppscsi-20060424/work/ppscsi-beta2/ppscsi.o
In file included from /var/tmp/portage/media-video/ppscsi-20060424/work/ppscsi-beta2/ppscsi.c:55:
/var/tmp/portage/media-video/ppscsi-20060424/work/ppscsi-beta2/ppscsi.h:16:26: error: linux/config.h: No such file or directory
make: *** [/var/tmp/portage/media-video/ppscsi-20060424/work/ppscsi-beta2/ppscsi.o] Error 1
make: *** [_module_/var/tmp/portage/media-video/ppscsi-20060424/work/ppscsi-beta2] Error 2
make: Leaving directory `/usr/src/linux-2.6.19-gentoo-r2'
make: *** [all] Error 2
>>> Source compiled.
>>> Test phase [not enabled]: media-video/ppscsi-20060424
>>> Install ppscsi-20060424 into /var/tmp/portage/media-video/ppscsi-20060424/image/ category media-video
ls: cannot access *.ko: No such file or directory
>>> Completed installing ppscsi-20060424 into /var/tmp/portage/media-video/ppscsi-20060424/image/
>>> Merging media-video/ppscsi-20060424 to /
>>> Safely unmerging already-installed instance...
--- !mtime obj /usr/share/doc/ppscsi-20060424/README.ppscsi.gz
--- !empty dir /usr/share/doc/ppscsi-20060424
--- !empty dir /usr/share/doc
--- !empty dir /usr/share
--- !empty dir /usr
>>> Original instance of package unmerged safely.
>>> media-video/ppscsi-20060424 merged.
You can see that the kernel it should be building against is 2.6.19-r4 (this kernel is freshly installed and compiled). But because my running kernel hasn't changed yet, it has failed. (the 2.6.19-r2 sources have a hacked patch against it for ppscsi which I made - hence the failure).
Any ideas what to do to fix it?
Created attachment 108299 [details]
New improved ebulid
Added simple SED statement change Makefile to use $KV_FULL
Added 2.6.19 patch
Added "|| die" to capture make failures
Created attachment 108300 [details, diff]
Patch to go with improved ebuild
Works well here.
One small thing I should have fixed: the KEYWORDS should be "~x86", not "x86", for the time being.
Can some one fix the drivers for >=2.6.20. The workstruct changes broke the drivers.
Created attachment 115304 [details]
New ebuild to change x86 to ~x86, and apply 2.6.20 patch.
Created attachment 115309 [details]
New patch for 2.6.20 kernel
Thanks for the feedback Sourav. I have made the change to keywords now.
Also added a new patch for the 2.6.20 kernel (you still need the 2.6.19 one in your overlay). Seems to work okay for me, but I can only test the onscsi module.
I am using the 5100c, but it always is using polling so my cpu is always at 100% when scanning. How do i get the modules to use interupts instead of polling, or is it not possible?
ppSCSI 0.92 (0.92) installed
epst.0: epst 0.92 (0.92), Shuttle EPST at 0x378 mode 5 (EPP-32) dly 1 nice 0 sg 16
scsi9 : epst
scsi 9:0:0:0: Processor HP C5190A 3740 PQ: 0 ANSI: 2
scsi 9:0:0:0: Attached scsi generic sg8 type 3
The ebuild w/ both patches works well with kernel 2.6.21.
One small hiccup is that it seems to take a while for the driver to load into the kernel. I will see if it's repeatable. Perhaps related to the following dmesg error message:
Device driver host1 lacks bus and class support for being resumed.
Device driver target1:0:0 lacks bus and class support for being resumed.
Created attachment 128961 [details, diff]
fixes config.h <-> autoconf.h in ppscsi.h
Newer kernels use /lib/modules/"kernel-version"/build/linux/autoconf.h instead of config.h, so I had to change it inside of ppscsi.h. I have also included the other patch on ppscsi.c other people made.
Are the changes in your patch not covered in Russell's two patches? I use Russell's ebuild with kernel 2.6.21 ...
Created attachment 142861 [details, diff]
update patch for 2.6.24
This is for the 2.6.24 kernel. Don't know if and #if will be needed for older kernels.
Created attachment 156711 [details]
2.6.25 build log
ppscsi fails to build on 2.6.25. Any ideas?
(In reply to comment #20)
> Created an attachment (id=156711) 
> 2.6.25 build log
> ppscsi fails to build on 2.6.25. Any ideas?
The two patches I'm using are just a combination of all the posted patches here.
Created attachment 159646 [details, diff]
diff for 2.6.25 kernel
You should try this patch. It worked for me on 188.8.131.52 (http://forums.gentoo.org/viewtopic-p-5142421.html#5142421)
Created attachment 159853 [details]
I combined all the patches and ebuild change and created a tarball with all the latest changes. I have tested this on both gentoo-sources 2.6.25-r4 & 2.6.24-r8 and my ScanJet 5100C scanner works. :-)
(In reply to comment #22)
> Created an attachment (id=159646) 
> diff for 2.6.25 kernel
> You should try this patch. It worked for me on 184.108.40.206
Thanks for the post! I was hoping not to have to trash my scanner just yet. It still works. :-) I combined all the ebuild and patches into one tarball. I improved your patch so that the ebuild can compile with previous kernels (< 2.6.25) as well as 2.6.25.
Anyone have any idea how to fix this compile error? I'd like to have this work for 2.6.28.
/var/tmp/portage/portage/media-gfx/ppscsi-20060424-r2/work/ppscsi-beta2/ppscsi.c: In function ‘ppsc_engine’:
/var/tmp/portage/portage/media-gfx/ppscsi-20060424-r2/work/ppscsi-beta2/ppscsi.c:597: warning: assignment from incompatible pointer type
/var/tmp/portage/portage/media-gfx/ppscsi-20060424-r2/work/ppscsi-beta2/ppscsi.c: In function ‘ppsc_cleanup’:
/var/tmp/portage/portage/media-gfx/ppscsi-20060424-r2/work/ppscsi-beta2/ppscsi.c:849: warning: assignment from incompatible pointer type
/var/tmp/portage/portage/media-gfx/ppscsi-20060424-r2/work/ppscsi-beta2/ppscsi.c: In function ‘ppsc_inquire’:
/var/tmp/portage/portage/media-gfx/ppscsi-20060424-r2/work/ppscsi-beta2/ppscsi.c:1054: warning: assignment from incompatible pointer type
/var/tmp/portage/portage/media-gfx/ppscsi-20060424-r2/work/ppscsi-beta2/ppscsi.c: In function ‘ppsc_detect’:
/var/tmp/portage/portage/media-gfx/ppscsi-20060424-r2/work/ppscsi-beta2/ppscsi.c:1192: warning: assignment from incompatible pointer type
ppscsi is quite dead. This bug should be closed and marked wontfix.
This package died a long time ago. I think it's time to close this bug.