Thursday, June 10, 2010

Getting my Vaio SD card reader working

SD

root@vaio ~$
lspci |grep Ricoh
03:00.0 SD Host controller: Ricoh Co Ltd Device e822
03:00.1 System peripheral: Ricoh Co Ltd Device e230
03:00.3 FireWire (IEEE 1394): Ricoh Co Ltd Device e832
03:00.4
SD Host controller: Ricoh Co Ltd Device e822
root@vaio ~$ lspci -v
03:00.0 SD Host controller: Ricoh Co Ltd Device e822
Subsystem: Sony Corporation Device 9072
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at e6603000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [800] Advanced Error Reporting
Kernel driver in use: sdhci-pci
Kernel modules: sdhci-pci

03:00.4 SD Host controller: Ricoh Co Ltd Device e822
Subsystem: Sony Corporation Device 9072
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at e6600000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Kernel driver in use: sdhci-pci
Kernel modules: sdhci-pci
root@vaio ~$ lsmod | egrep 'mmc|ricoh|sdhci'
sdhci_pci 6910 0
sdhci 17430 1 sdhci_pci
mmc_core 59134 1 sdhci



SD

Sunday, June 6, 2010

Orange 3G+ on Fedora Linux 13 (Orange Tunisie)

Ce dimanche, je passe ma journee avec ma nouvelle cle 3G+ Orange que j'ai gagne la semaine derniere au Barcamp.
Comme tout bon geek qui se respecte, je commence naturellement par la demonter afin d'examiner de plus pres l'interieur. Au fait, j'ai pense que je pourrai bien l'integrer a l'interieur de mon pc portable afin de gagner plus d'espace et d'ergonomie. (je detaillerai ceci avec des photos tres prochainement dans un post). A ma grande surprise (Et en meme cela ne m'etonne guere), je me rends compte que le guide d'installation n'affiche pas du tout GNU/Linux dans la liste des OS compatibles... Commence alors une belle journee :)

Je commence par brancher la cle 3G, celle-ci s'allume et la diode commence a clignotter en vert (2 fois toutes les 3 secondes).
J'effectue un lsusb afin de verifier l'etat de la cle, puis je lance un cat /proc/bus/usb/devices afin d'avoir plus de details sur notre cle. Ceci nous confirme que notre cle est a comme Vendor et ProdID 12d1:141b Maintenant que j'ai les ID, je debranche la cle et j'installe usb_modeswitch en effectuant un yum install usb_modswitch*

USB_ModeSwitch est un outil de switch (changement) de mode pour des clefs USB à fonctions multiples.

Plusieurs nouvelles clefs USB contiennent leur propre driver MS Windows; quand on les insère pour la première fois, ces périphériques agissent comme un périphérique de stockage et installent leur driver. Après cela (et ceci à chaque nouvelle insertion de la clef) ce driver commute (switch) le mode interne, le périphérique de stockage disparait (dans la majorité des cas), et un nouveau périphérique (tel un modem USB) apparaît. Le fabriquant de clés WWAN Option appelle ce dispositif "ZeroCD (TM)".

C'est d'ailleurs pour cette raison que lorsqu'on branche notre cle 3G, l'OS la reconnait en tant que peripherique de stockage. Il est ensuite necessaire de verifier la presence du fichier 12d1:1466 dans le dossier /etc/usb_modeswitch.d/ Pour cela on effectue un ls /etc/usb_modeswitch.d/ Ce fichier devrait etre present suite a l'installation de usm_modeswitch par yum, s'il n'est pas la, il suffit de le creer et d'y ajouter le code suivant:

########################################################
# Huawei, newer modems
DefaultVendor= 0x12d1
DefaultProduct=0x1446
TargetVendor= 0x12d1TargetProductList="1001,1406,140c,141b,14ac"
CheckSuccess=20

MessageContent="55534243123456780000000000000011060000000000000000000000000000"

Maintenat je rebranche ma cle, cette fois-ci elle n'est plus detectee comme Disk, mais plutot comme un modem 3G/HSDPA. Une fois la sim inseree, la cle passe d'un clignottement vert a un clignottement bleu toutes les 3 secondes indiquant que la cle est prete a se connecter au reseau UMTS.

Il ne nous reste plus qu'ajouter une novelle connexion Mobile Broadband.




















Une fois la connexion cree, revenir dans ses proprietes afin de specifier l'APN (l'offre Orange que vous avez souscrit). Celle ci a comme valeur 'keygp' si vous avez souscrit a l'offre l'internet Everywhere, et 'keypro' si vous avez souscrit l'offre Internet everywhere Premium.
Note: Ces valeurs sont mentionnees dans le fichier 'Offres_Lang0009.xml' se trouvant dans le dossier d'installation de la cle (il faut decompresser le setup.exe pour voir le contenu, ou regarder dans le dossier /Program files/InternetEverywhere ).

Il est preferable de specifier aussi le code pin de la sim (0000 par defaut)
Il ne nous reste plus qu'essayer de connecter notre cle. Une fois la connexion etablie, notre clee s'allume d'une jolie couleur bleue continue.


Et pour finir, juste pour le plaisir, voici quelques details interessants:
root@vaio ~$ lsusb -v

Bus 002 Device 024: ID 12d1:141b Huawei Technologies Co., Ltd.
Device Descriptor: bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x12d1 Huawei Technologies Co., Ltd. idProduct 0x141b
bcdDevice 0.00
iManufacturer 3 HUAWEI Technology
iProduct 2 HUAWEI Mobile
iSerial 4 1234567890ABCDEF
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2 wTotalLength 85
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 1 Huawei Configuration
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 500mA
Interface Descriptor: bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0 Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor: bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
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 0
Endpoint Descriptor:
bLength 7 bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes bInterval 0

Contenu d'un snooping du port USB, effectue par wireshark.

Fichier1: snoop1_plain.txt
Fichier2: snoop2_pdml.xml
Fichier3: snoop3_psml.xml