zsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget%/translations/zh_CN/scsi/scsi-changermodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/zh_TW/scsi/scsi-changermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/it_IT/scsi/scsi-changermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/ja_JP/scsi/scsi-changermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/ko_KR/scsi/scsi-changermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/sp_SP/scsi/scsi-changermodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh?/var/lib/git/docbuild/linux/Documentation/scsi/scsi-changer.rsthKubhsection)}(hhh](htitle)}(hSCSI media changer driverh]hSCSI media changer driver}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hrThis is a driver for SCSI Medium Changer devices, which are listed with "Type: Medium Changer" in /proc/scsi/scsi.h]hvThis is a driver for SCSI Medium Changer devices, which are listed with “Type: Medium Changer” in /proc/scsi/scsi.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hThis is for *real* Jukeboxes. It is *not* supported to work with common small CD-ROM changers, neither one-lun-per-slot SCSI changers nor IDE drives.h](h This is for }(hhhhhNhNubhemphasis)}(h*real*h]hreal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh Jukeboxes. It is }(hhhhhNhNubh)}(h*not*h]hnot}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubhl supported to work with common small CD-ROM changers, neither one-lun-per-slot SCSI changers nor IDE drives.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubhdefinition_list)}(hhh]hdefinition_list_item)}(hPUserland tools available from here: http://linux.bytesex.org/misc/changer.html h](hterm)}(h#Userland tools available from here:h]h#Userland tools available from here:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h)}(h*http://linux.bytesex.org/misc/changer.htmlh]h reference)}(hj/h]h*http://linux.bytesex.org/misc/changer.html}(hj3hhhNhNubah}(h]h ]h"]h$]h&]refurij/uh1j1hj-ubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1j(hjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1j hhhhhhhNubh)}(hhh](h)}(hGeneral Informationh]hGeneral Information}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYhhhhhKubh)}(hXlFirst some words about how changers work: A changer has 2 (possibly more) SCSI ID's. One for the changer device which controls the robot, and one for the device which actually reads and writes the data. The later may be anything, a MOD, a CD-ROM, a tape or whatever. For the changer device this is a "don't care", he *only* shuffles around the media, nothing else.h](hXEFirst some words about how changers work: A changer has 2 (possibly more) SCSI ID’s. One for the changer device which controls the robot, and one for the device which actually reads and writes the data. The later may be anything, a MOD, a CD-ROM, a tape or whatever. For the changer device this is a “don’t care”, he }(hjjhhhNhNubh)}(h*only*h]honly}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjubh) shuffles around the media, nothing else.}(hjjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjYhhubh)}(hThe SCSI changer model is complex, compared to - for example - IDE-CD changers. But it allows to handle nearly all possible cases. It knows 4 different types of changer elements:h]hThe SCSI changer model is complex, compared to - for example - IDE-CD changers. But it allows to handle nearly all possible cases. It knows 4 different types of changer elements:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjYhhubh block_quote)}(hX=============== ================================================== media transport this one shuffles around the media, i.e. the transport arm. Also known as "picker". storage a slot which can hold a media. import/export the same as above, but is accessible from outside, i.e. there the operator (you !) can use this to fill in and remove media from the changer. Sometimes named "mailslot". data transfer this is the device which reads/writes, i.e. the CD-ROM / Tape / whatever drive. =============== ================================================== h]htable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK2uh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(hmedia transporth]hmedia transport}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTthis one shuffles around the media, i.e. the transport arm. Also known as "picker".h]hXthis one shuffles around the media, i.e. the transport arm. Also known as “picker”.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hstorageh]hstorage}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(ha slot which can hold a media.h]ha slot which can hold a media.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h import/exporth]h import/export}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hj8ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hthe same as above, but is accessible from outside, i.e. there the operator (you !) can use this to fill in and remove media from the changer. Sometimes named "mailslot".h]hthe same as above, but is accessible from outside, i.e. there the operator (you !) can use this to fill in and remove media from the changer. Sometimes named “mailslot”.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjOubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h data transferh]h data transfer}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjoubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(hOthis is the device which reads/writes, i.e. the CD-ROM / Tape / whatever drive.h]hOthis is the device which reads/writes, i.e. the CD-ROM / Tape / whatever drive.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK!hjYhhubh)}(hNone of these is limited to one: A huge Jukebox could have slots for 123 CD-ROM's, 5 CD-ROM readers (and therefore 6 SCSI ID's: the changer and each CD-ROM) and 2 transport arms. No problem to handle.h]hNone of these is limited to one: A huge Jukebox could have slots for 123 CD-ROM’s, 5 CD-ROM readers (and therefore 6 SCSI ID’s: the changer and each CD-ROM) and 2 transport arms. No problem to handle.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjYhhubeh}(h]general-informationah ]h"]general informationah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hHow it is implementedh]hHow it is implemented}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK3ubh)}(hXtI implemented the driver as character device driver with a NetBSD-like ioctl interface. Just grabbed NetBSD's header file and one of the other linux SCSI device drivers as starting point. The interface should be source code compatible with NetBSD. So if there is any software (anybody knows ???) which supports a BSDish changer driver, it should work with this driver too.h]hXvI implemented the driver as character device driver with a NetBSD-like ioctl interface. Just grabbed NetBSD’s header file and one of the other linux SCSI device drivers as starting point. The interface should be source code compatible with NetBSD. So if there is any software (anybody knows ???) which supports a BSDish changer driver, it should work with this driver too.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hjhhubh)}(hoOver time a few more ioctls where added, volume tag support for example wasn't covered by the NetBSD ioctl API.h]hqOver time a few more ioctls where added, volume tag support for example wasn’t covered by the NetBSD ioctl API.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK /proc/scsi/scsi (replace ID with the SCSI-ID of the device) 2) boot the kernel with "max_scsi_luns=1" on the command line (append="max_scsi_luns=1" in lilo.conf should do the trick) h]henumerated_list)}(hhh](h list_item)}(hdecho "scsi add-single-device 0 0 ID 1" > /proc/scsi/scsi (replace ID with the SCSI-ID of the device)h]h)}(hdecho "scsi add-single-device 0 0 ID 1" > /proc/scsi/scsi (replace ID with the SCSI-ID of the device)h]hhecho “scsi add-single-device 0 0 ID 1” > /proc/scsi/scsi (replace ID with the SCSI-ID of the device)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKbhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hxboot the kernel with "max_scsi_luns=1" on the command line (append="max_scsi_luns=1" in lilo.conf should do the trick) h]h)}(hvboot the kernel with "max_scsi_luns=1" on the command line (append="max_scsi_luns=1" in lilo.conf should do the trick)h]h~boot the kernel with “max_scsi_luns=1” on the command line (append=”max_scsi_luns=1” in lilo.conf should do the trick)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix)uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKbhj\hhubeh}(h]using-itah ]h"]using itah$]h&]uh1hhhhhhhhKVubh)}(hhh](h)}(hTrouble?h]hTrouble?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKiubh)}(hX#If you insmod the driver with "insmod debug=1", it will be verbose and prints a lot of stuff to the syslog. Compiling the kernel with CONFIG_SCSI_CONSTANTS=y improves the quality of the error messages a lot because the kernel will translate the error codes into human-readable strings then.h]hX'If you insmod the driver with “insmod debug=1”, it will be verbose and prints a lot of stuff to the syslog. Compiling the kernel with CONFIG_SCSI_CONSTANTS=y improves the quality of the error messages a lot because the kernel will translate the error codes into human-readable strings then.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhjhhubh)}(hYou can display these messages with the dmesg command (or check the logfiles). If you email me some question because of a problem with the driver, please include these messages.h]hYou can display these messages with the dmesg command (or check the logfiles). If you email me some question because of a problem with the driver, please include these messages.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhjhhubeh}(h]troubleah ]h"]trouble?ah$]h&]uh1hhhhhhhhKiubh)}(hhh](h)}(hInsmod optionsh]hInsmod options}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hhhhhKwubj)}(hhh](j)}(h9debug=0/1 Enable debug messages (see above, default: 0). h](j)}(h debug=0/1h]h debug=0/1}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKzhj8ubj))}(hhh]h)}(h.Enable debug messages (see above, default: 0).h]h.Enable debug messages (see above, default: 0).}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhjJubah}(h]h ]h"]h$]h&]uh1j(hj8ubeh}(h]h ]h"]h$]h&]uh1jhhhKzhj5ubj)}(h%verbose=0/1 Be verbose (default: 1). h](j)}(h verbose=0/1h]h verbose=0/1}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK}hjgubj))}(hhh]h)}(hBe verbose (default: 1).h]hBe verbose (default: 1).}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hjyubah}(h]h ]h"]h$]h&]uh1j(hjgubeh}(h]h ]h"]h$]h&]uh1jhhhK}hj5hhubj)}(h\init=0/1 Send INITIALIZE ELEMENT STATUS command to the changer at insmod time (default: 1). h](j)}(hinit=0/1h]hinit=0/1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj))}(hhh]h)}(hRSend INITIALIZE ELEMENT STATUS command to the changer at insmod time (default: 1).h]hRSend INITIALIZE ELEMENT STATUS command to the changer at insmod time (default: 1).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j(hjubeh}(h]h ]h"]h$]h&]uh1jhhhKhj5hhubj)}(hZtimeout_init= timeout for the INITIALIZE ELEMENT STATUS command (default: 3600). h](j)}(htimeout_init=h]htimeout_init=}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj))}(hhh]h)}(hBtimeout for the INITIALIZE ELEMENT STATUS command (default: 3600).h]hBtimeout for the INITIALIZE ELEMENT STATUS command (default: 3600).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j(hjubeh}(h]h ]h"]h$]h&]uh1jhhhKhj5hhubj)}(hFtimeout_move= timeout for all other commands (default: 120). h](j)}(htimeout_move=h]htimeout_move=}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj))}(hhh]h)}(h.timeout for all other commands (default: 120).h]h.timeout for all other commands (default: 120).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j(hjubeh}(h]h ]h"]h$]h&]uh1jhhhKhj5hhubj)}(hdt_id=,,... / dt_lun=,,... These two allow to specify the SCSI ID and LUN for the data transfer elements. You likely don't need this as the jukebox should provide this information. But some devices don't ... h](j)}(h0dt_id=,,... / dt_lun=,,...h]h0dt_id=,,... / dt_lun=,,...}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj#ubj))}(hhh]h)}(hThese two allow to specify the SCSI ID and LUN for the data transfer elements. You likely don't need this as the jukebox should provide this information. But some devices don't ...h]hThese two allow to specify the SCSI ID and LUN for the data transfer elements. You likely don’t need this as the jukebox should provide this information. But some devices don’t ...}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1j(hj#ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj5hhubj)}(hXvendor_firsts=, vendor_counts=, vendor_labels= These insmod options can be used to tell the driver that there are some vendor-specific element types. Grundig for example does this. Some jukeboxes have a printer to label fresh burned CDs, which is addressed as element 0xc000 (type 5). To tell the driver about this vendor-specific element, use this:: $ insmod ch \ vendor_firsts=0xc000 \ vendor_counts=1 \ vendor_labels=printer All three insmod options accept up to four comma-separated values, this way you can configure the element types 5-8. You likely need the SCSI specs for the device in question to find the correct values as they are not covered by the SCSI-2 standard. h](j)}(h.vendor_firsts=, vendor_counts=, vendor_labels=h]h.vendor_firsts=, vendor_counts=, vendor_labels=}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjRubj))}(hhh](h)}(hX2These insmod options can be used to tell the driver that there are some vendor-specific element types. Grundig for example does this. Some jukeboxes have a printer to label fresh burned CDs, which is addressed as element 0xc000 (type 5). To tell the driver about this vendor-specific element, use this::h]hX1These insmod options can be used to tell the driver that there are some vendor-specific element types. Grundig for example does this. Some jukeboxes have a printer to label fresh burned CDs, which is addressed as element 0xc000 (type 5). To tell the driver about this vendor-specific element, use this:}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjdubh literal_block)}(h$ insmod ch \ vendor_firsts=0xc000 \ vendor_counts=1 \ vendor_labels=printerh]h$ insmod ch \ vendor_firsts=0xc000 \ vendor_counts=1 \ vendor_labels=printer}hjwsbah}(h]h ]h"]h$]h&]hhuh1juhhhKhjdubh)}(hAll three insmod options accept up to four comma-separated values, this way you can configure the element types 5-8. You likely need the SCSI specs for the device in question to find the correct values as they are not covered by the SCSI-2 standard.h]hAll three insmod options accept up to four comma-separated values, this way you can configure the element types 5-8. You likely need the SCSI specs for the device in question to find the correct values as they are not covered by the SCSI-2 standard.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjdubeh}(h]h ]h"]h$]h&]uh1j(hjRubeh}(h]h ]h"]h$]h&]uh1jhhhKhj5hhubeh}(h]h ]h"]h$]h&]uh1j hj$hhhhhNubeh}(h]insmod-optionsah ]h"]insmod optionsah$]h&]uh1hhhhhhhhKwubh)}(hhh](h)}(hCreditsh]hCredits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hmI wrote this driver using the famous mailing-patches-around-the-world method. With (more or less) help from:h]hmI wrote this driver using the famous mailing-patches-around-the-world method. With (more or less) help from:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(h- Daniel Moehwald - Dane Jasper - R. Scott Bailey - Jonathan Corbet h]h bullet_list)}(hhh](j)}(h!Daniel Moehwald h]h)}(hjh](hDaniel Moehwald <}(hjhhhNhNubj2)}(hmoehwald@hdg.deh]hmoehwald@hdg.de}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:moehwald@hdg.deuh1j1hjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hDane Jasper h]h)}(hjh](h Dane Jasper <}(hjhhhNhNubj2)}(hdane@sonic.neth]hdane@sonic.net}(hj hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:dane@sonic.netuh1j1hjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h'R. Scott Bailey h]j)}(hhh]j)}(h$Scott Bailey h]h)}(hj4h](hScott Bailey <}(hj6hhhNhNubj2)}(hsbailey@dsddi.eds.comh]hsbailey@dsddi.eds.com}(hj=hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:sbailey@dsddi.eds.comuh1j1hj6ubh>}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]j upperalphajhj.startKuh1jhj+ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h!Jonathan Corbet h]h)}(h Jonathan Corbet h](hJonathan Corbet <}(hjphhhNhNubj2)}(hcorbet@lwn.neth]hcorbet@lwn.net}(hjxhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:corbet@lwn.netuh1j1hjpubh>}(hjphhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjlubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjhhubh)}(hSpecial thanks go toh]hSpecial thanks go to}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(h(- Martin Kuehne h]j)}(hhh]j)}(h&Martin Kuehne h]h)}(h%Martin Kuehne h](hMartin Kuehne <}(hjhhhNhNubj2)}(hmartin.kuehne@bnbt.deh]hmartin.kuehne@bnbt.de}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:martin.kuehne@bnbt.deuh1j1hjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]jjuh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjhhubh)}(hlfor a old, second-hand (but full functional) cdrom jukebox which I use to develop/test driver and tools now.h]hlfor a old, second-hand (but full functional) cdrom jukebox which I use to develop/test driver and tools now.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h Have fun,h]h Have fun,}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hGerd h]h)}(hGerdh]hGerd}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjhhubh)}(hGerd Knorr h](h Gerd Knorr <}(hj'hhhNhNubj2)}(hkraxel@bytesex.orgh]hkraxel@bytesex.org}(hj/hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:kraxel@bytesex.orguh1j1hj'ubh>}(hj'hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]creditsah ]h"]creditsah$]h&]uh1hhhhhhhhKubeh}(h]scsi-media-changer-driverah ]h"]scsi media changer driverah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj{error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jVjSjjjjjYjVjjj!jjjjNjKu nametypes}(jVjjjYjj!jjNuh}(jShjjYjjjVjjj\jjjj$jKju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]hsystem_message)}(hhh]h)}(h;Enumerated list start value not ordinal-1: "R" (ordinal 18)h]h?Enumerated list start value not ordinal-1: “R” (ordinal 18)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1jhj+ubatransform_messages] transformerN include_log] decorationNhhub.