Perhaps so that the numbers after the keywords must match
and that the [...] entry is only an abstract unique value which
describes the device class, i.e. that the above means that
there is a funprinter_1000 device class which contains
exactly two models
one with
id1=hp_funprinter_1000
model1=Fun Printer 1000
usb-pid1=1a2b
and the other one with
id2=hewlett-packard_funprinter_1000_series
model2=Fun Printer 1000 XL
usb-pid2=3c4f
If the "hewlett-packard_funprinter_1000_series" consists
of several model names it could be
id2=hewlett-packard_funprinter_1000_series
id3=hewlett-packard_funprinter_1000_series
id4=hewlett-packard_funprinter_1000_series
model2=Fun Printer 1000 XL
model3=Fun Printer 1000 XXL
model4=Fun Printer 1000 MFP
usb-pid2=3c4f
usb-pid3=3c4f
usb-pid4=3c4f
If the "Fun Printer 1000 MFP" has a scanner unit
out of the box but the scanner unit is available also
(only) for the "Fun Printer 1000 XXL" (think about
the "LaserJet 1200" versus "LaserJet 1220") it could be
id2=hewlett-packard_funprinter_1000_series
id3=hewlett-packard_funprinter_1000_series
id4=hewlett-packard_funprinter_1000_series
id5=hewlett-packard_funprinter_1000_series
model2=Fun Printer 1000 XL
model3=Fun Printer 1000 XXL
model4=Fun Printer 1000 MFP
model5=Fun Printer 1000 XXL with scanner unit
scan-type2=0
scan-type3=0
scan-type4=1
scan-type5=1
usb-pid2=3c4f
usb-pid3=3c4f
usb-pid4=3c4f
usb-pid5=3c4f
The advantage would be that it is much more clear
what the actual hardware is out there in the world,
in particular you would not have to guess why there is
[business_inkjet_1000] and [hp_business_inkjet_1000] ;-)
Even for (automated) setup tools it would help
because an (automated) setup tool which detects
the USB ID 1a2b would know that this ID is only
a "Fun Printer 1000" which has never a scanner unit
but if the USB ID "3c4f" is autodetected, the tool
would know that several models match to it
and it could do whatever seems appropriate:
- either a conservative setup (only the printer)
- or a blind full-feature setup (printer + scanner)
- or no automated setup and leave it up to the user
to select his actual model name manually.
It seems you have to deal with multiple device IDs
and multiple model names (and perhaps multiple USB IDs
and whatever else multiple stuff).
What do you think about a change in the models.dat format
for a future HPLIP version so that multiple device IDs are allowed?
For example let the [...] entry be the default/fallback device ID
and have additional optional entries for the device IDs like
[business_ inkjet_ 1000] business_ inkjet_ 1000
id1=hp_
model1=Business Inkjet 1000
Perhaps also if there are several USB IDs for a technically
same model like:
[funprinter_1000] funprinter_ 1000 packard_ funprinter_ 1000_series
id1=hp_
id2=hewlett-
model1=Fun Printer 1000
model2=Fun Printer 1000 XL
usb-pid1=1a2b
usb-pid2=3c4f
Perhaps so that the numbers after the keywords must match funprinter_ 1000 packard_ funprinter_ 1000_series
and that the [...] entry is only an abstract unique value which
describes the device class, i.e. that the above means that
there is a funprinter_1000 device class which contains
exactly two models
one with
id1=hp_
model1=Fun Printer 1000
usb-pid1=1a2b
and the other one with
id2=hewlett-
model2=Fun Printer 1000 XL
usb-pid2=3c4f
If the "hewlett- packard_ funprinter_ 1000_series" consists packard_ funprinter_ 1000_series packard_ funprinter_ 1000_series packard_ funprinter_ 1000_series
of several model names it could be
id2=hewlett-
id3=hewlett-
id4=hewlett-
model2=Fun Printer 1000 XL
model3=Fun Printer 1000 XXL
model4=Fun Printer 1000 MFP
usb-pid2=3c4f
usb-pid3=3c4f
usb-pid4=3c4f
If the "Fun Printer 1000 MFP" has a scanner unit packard_ funprinter_ 1000_series packard_ funprinter_ 1000_series packard_ funprinter_ 1000_series packard_ funprinter_ 1000_series
out of the box but the scanner unit is available also
(only) for the "Fun Printer 1000 XXL" (think about
the "LaserJet 1200" versus "LaserJet 1220") it could be
id2=hewlett-
id3=hewlett-
id4=hewlett-
id5=hewlett-
model2=Fun Printer 1000 XL
model3=Fun Printer 1000 XXL
model4=Fun Printer 1000 MFP
model5=Fun Printer 1000 XXL with scanner unit
scan-type2=0
scan-type3=0
scan-type4=1
scan-type5=1
usb-pid2=3c4f
usb-pid3=3c4f
usb-pid4=3c4f
usb-pid5=3c4f
The advantage would be that it is much more clear inkjet_ 1000] and [hp_business_ inkjet_ 1000] ;-)
what the actual hardware is out there in the world,
in particular you would not have to guess why there is
[business_
Even for (automated) setup tools it would help
because an (automated) setup tool which detects
the USB ID 1a2b would know that this ID is only
a "Fun Printer 1000" which has never a scanner unit
but if the USB ID "3c4f" is autodetected, the tool
would know that several models match to it
and it could do whatever seems appropriate:
- either a conservative setup (only the printer)
- or a blind full-feature setup (printer + scanner)
- or no automated setup and leave it up to the user
to select his actual model name manually.