Cardreader unter freetz fest verlinken mit udev: Unterschied zwischen den Versionen
Zeile 167: | Zeile 167: | ||
listusb -v | listusb -v | ||
<pre style="height: 200px; overflow: scroll;"> | |||
Bus 001 Device 002: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC | Bus 001 Device 002: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC | ||
Device Descriptor: | Device Descriptor: |
Version vom 14. März 2012, 00:44 Uhr
Das zuweisen von Cardreadern mit udev unter anderen System ist ja bekannt : USB-Reader fest verlinken
Das funktioniert jetzt auch unter freetz ab trunk 8383 http://freetz.org/wiki/patches/custom_udev_rules]patches/custom_udev_rules
Reader:
- smargo FW 1.03 über Vendor ID
- smargo FW 1.04- 1.07 über Serial
- Apollo Cardreader über Serial
- Easymouse2 über Serial
- WB Smartmouse USB über Vendor ID
- und andere
Getestet mit smargo FW 1.07
Beispiel smargo FW 1.07 und Oscam
Als erstes Serial auslesen per telnet :
cat /proc/bus/usb/devices
Ergebnis:
T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0403 ProdID=6001 Rev= 4.00 S: Manufacturer=Argolis BV S: Product=Smartreader plus S: SerialNumber=12345678 C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbfs E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
Die Serial tragen wir jetzt über das freetz WI unter Menue Punkt freetz udev_first ein
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="Reader Serial", SYMLINK+="Symlink
Hier wird die ausgelesene Serial eingetragen. Hier wird der Symlink eingetragen.
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="12345678", SYMLINK+="smargo1"
Fritzbox neu starten damit die änderungen übernommen werden , die rules sind dann fest gespeichert
Anschliessend In der oscam.server als device den erstellten symlink eintragen
[reader] label = smargo1 protocol = mouse device = /dev/smargo1 smargopatch = 1 fallback = 1 caid = 1838 rsakey = B5................FF boxkey = A7.......7C detect = cd mhz = 369 cardmhz = 368 group = 1 emmcache = 1,3,2
2012/01/13 8:38:59 C04 r reader thread started (thread= C04, label=smargo1, device=[COLOR="#FFFF00"]/dev/smargo1[/COLOR], detect=cd, mhz=369, cardmhz=368) 2012/01/13 8:39:02 C04 r smargo1 card detected 2012/01/13 8:39:09 C04 r ATR: 3F FF 95 00 FF 91 81 71 FE 47 00 44 4E 41 53 50 31 34 32 20 52 65 76 47 30 36 12 2012/01/13 8:39:11 C04 r Maximum frequency for this card is formally 5 Mhz, clocking it to 3.69 Mhz 2012/01/13 8:39:12 C04 r detect native nagra card 2012/01/13 8:39:12 C04 r ----------------------------------------- 2012/01/13 8:39:12 C04 r |id |tier |valid from |valid to | 2012/01/13 8:39:12 C04 r +----+--------+------------+------------+ 2012/01/13 8:39:13 C04 r found cardsystem 2012/01/13 8:39:13 C04 r ROM: D N A S P 1 4 2 2012/01/13 8:39:13 C04 r REV: R e v G 0 6 2012/01/13 8:39:13 C04 r SER: 12 34 56 78 2012/01/13 8:39:13 C04 r CAID: 1838 2012/01/13 8:39:13 C04 r Prv.ID: 00 00 04 01 (sysid) 2012/01/13 8:39:13 C04 r Prv.ID: 00 00 00 00 2012/01/13 8:39:13 C04 r Prv.ID: 00 00 11 03 2012/01/13 8:39:13 C04 r [nagra-reader] ready for requests 2012/01/13 8:39:13 400 s init for all local cards done
2012/01/13 9:12:10 1005 c um02 (1838&001103/7D67/92:F57A): found (331 ms) by smargo1 (of 0 avail 0) 2012/01/13 9:12:10 1005 c um02 (1838&001103/7D66/92:371C): found (317 ms) by smargo1 (of 0 avail 0) 2012/01/13 9:12:20 1005 c um02 (1838&001103/7D67/92:DF0A): found (329 ms) by smargo1 (of 0 avail 0) 2012/01/13 9:12:20 1005 c um02 (1838&001103/7D66/92:1CB5): found (336 ms) by smargo1 (of 0 avail 0)
Beispiel smargo FW 1.07 und CCcam
SERIAL READER : /dev/smargo1
Jan 13 10:06:00 fritz daemon.debug CCcam: ====================================================================== Jan 13 10:06:00 fritz daemon.debug CCcam: starting CCcam 2.1.1 compiled on May 2 2009@20:00:30 Jan 13 10:06:00 fritz daemon.debug CCcam: ====================================================================== Jan 13 10:06:00 fritz daemon.debug CCcam: online using nodeId ff997a593223778b Jan 13 10:06:00 fritz daemon.debug CCcam: DM7025 detected Jan 13 10:06:00 fritz daemon.debug CCcam: create 8 cam device(s) Jan 13 10:06:00 fritz daemon.debug CCcam: card detect fail Jan 13 10:06:00 fritz daemon.debug CCcam: calculated EGT: 0 us Jan 13 10:06:00 fritz daemon.debug CCcam: irdeto card found Jan 13 10:06:01 fritz daemon.debug CCcam: camkey challenge ok Jan 13 10:06:01 fritz daemon.debug CCcam: card added to broker with caid 1722
Welcome to CCcam 2.1.1 server card reader /dev/smargo1 handled 2(2) ecms and 7(7) emms Caid 1722 Betacrypt ACS 900 TEL Cardserial 9002012346 (112233)
Beispiel WB smartmouse USB und CCcam
(getestet zusammen mit 1 smargo und 1 WB Smartmouse)
Da dieser keine Serial beutzt , wird hier zum Beispiel die Vendor Nummer genutzt. Hierbei darf dann aber auch nur ein Cardreader dieser Art vorhanden sein weil die Vendor ID s identisch sind. Bei mehreren Cardreadern der selben Art ohne Serial funktioniert das nicht .
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=104f ProdID=0002 Rev= 4.00 S: Manufacturer=WB Electronics ApS S: Product=Smartmouse USB C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="[COLOR="#00FFFF"]12345678[/COLOR]", SYMLINK+="[COLOR="#FFFF00"]smargo1 SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{idVendor}=="104f", SYMLINK+="smartmouse1"
SERIAL READER : /dev/smartmouse1
Welcome to CCcam 2.1.1 server card reader /dev/smartmouse1 handled 47(47) ecms and 7(7) emms Caid 1722 Betacrypt ACS 900 TEL Cardserial 9002012346 (112233)mms
Argolis Triple und Quadmouse
Leider funktioniert die Methode nicht mit Serial Dazu nehmen wir die "Interfacenumber"
listusb -v
Bus 001 Device 002: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0403 Future Technology Devices International, Ltd idProduct 0x6011 FT4232H Quad HS USB-UART/FIFO IC bcdDevice 8.00 iManufacturer 1 FTDI iProduct 2 Quad RS232-HS iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25856 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 2 Quad RS232-HS Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 2 Quad RS232-HS Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 2 Quad RS232-HS Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 0 Endpoint Descriptor: bLength 7 folgendes einfach im freetz-WebIF in der udev_first eintragen, dann sollten alle drei Ports erkannt und eingebunden werden. SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{interface}=="Triple Reader+", ATTRS{bInterfaceNumber}=="00", SYMLINK+="triple1" SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{interface}=="Triple Reader+", ATTRS{bInterfaceNumber}=="01", SYMLINK+="triple2" SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{interface}=="Triple Reader+", ATTRS{bInterfaceNumber}=="02", SYMLINK+="triple3" nach einem Reboot sollte die Eingabe von "ls -la /dev |grep ttyUSB" folgendes Ergebniss liefern: root@fritzbox_7270:/var/mod/root# ls -la /dev |grep ttyUSB lrwxrwxrwx 1 root root 7 Mar 8 18:03 triple1 -> ttyUSB0 lrwxrwxrwx 1 root root 7 Mar 8 18:03 triple2 -> ttyUSB1 lrwxrwxrwx 1 root root 7 Mar 8 18:03 triple3 -> ttyUSB2 eingetragen in der CCcam.cfg könnte es dann z.B so aussehen: SERIAL READER : /dev/triple3 smartreader+ card reader /dev/triple3 handled 728(614) ecms and 0(0) emms Caid 1702 Betacrypt ACS 900 GER[/CODE] *Zurück zu Hauptseite