![]() |
![]() ![]()
Experimental Physics and
| ||||||||||||||||
|
Are the PCI IDs supposed to be intrinsic/stored on the card? The odd thing I'm seeing is that the *same* card on the same backplane has a different ID depending on which CPU I use. A known "good" CPU card and kernel module install is seeing
152, the "bad" is seeing 150.
From: Michael Davidsaver <mdavidsaver at gmail.com>
Sent: Wednesday, January 29, 2025 11:17:30 PM To: Han Lee <jeonglee at lbl.gov>; Di Wang <di.wang at kek.jp>; daykin at frib.msu.edu <daykin at frib.msu.edu> Cc: EPICS tech-talk <tech-talk at aps.anl.gov>; jerzy.jamroz at ess.eu <jerzy.jamroz at ess.eu> Subject: Re: MRF kernel modules not seeing hardware [EXTERNAL] This email originated from outside of FRIB
On 1/29/25 18:52, Han Lee via Tech-talk wrote: > FYI, The supported PCI IDs > https://github.com/epics-modules/mrfioc2/blob/master/mrmShared/linux/uio_mrf.c#L41-L74 <https ://github.com/epics-modules/mrfioc2/blob/master/mrmShared/linux/uio_mrf.c#L41-L74> I think the essential point has already been made, when a PCI device is enumerated, but no loaded driver associates, this is almost always the result of a PCI ID mis-match. fyi. the 'modinfo' utility can dump the match/alias list from the meta-data stored in a compiled kernel module. > $ modinfo mrf.ko ... > alias: pci:v000010EEd00007011sv00001A3Esd0000232Cbc*sc*i* > alias: pci:v000010EEd00007011sv00001A3Esd0000132Cbc*sc*i* > alias: pci:v00001A3Ed0000152Csv00001A3Esd0000152Cbc*sc*i* > alias: pci:v00001A3Ed0000252Csv00001A3Esd0000252Cbc*sc*i* > alias: pci:v000010EEd00007011sv00001A3Esd0000172Cbc*sc*i* > alias: pci:v00001204d0000EC30sv00001A3Esd0000172Cbc*sc*i* > alias: pci:v000010B5d00009056sv00001A3Esd0000192Cbc*sc*i* > alias: pci:v000010B5d00009030sv00001A3Esd000011E6bc*sc*i* > alias: pci:v000010B5d00009030sv00001A3Esd000020E6bc*sc*i* > alias: pci:v000010B5d00009030sv00001A3Esd000020DCbc*sc*i* > alias: pci:v000010B5d00009030sv00001A3Esd000010E6bc*sc*i* ... These lines decode as key-value pairs with wildcards for some values. eg. "pci:v000010B5d00009030sv00001A3Esd000010E6bc*sc*i*" will match a PCI vendor:device 0x10ee:0x9030 sub-vendor:sub-device 0x1a3e:0x10e6 "bc*" and "sc*" match any class/sub-class "i*" matches any interface. Although I'm not sure what "interface" means in this context.
| ||||||||||||||||
ANJ, 30 Jan 2025 |
![]() · Download · Search · IRMIS · Talk · Documents · Links · Licensing · |