Jump to content

USB Card Reader - Legacy Driver (SL 10.6.5 lub nowszy)


oswaldini
 Share

Recommended Posts

Jeżeli posiadamy czytnik kart podpięty przez USB możemy wykorzystać sterowniki Apple aby nasza karta po zamontowaniu widoczna była jako karta a nie dysk. Dzięki Andy'emu Vandijck'owi (aka AnV) stało się to możliwe. Udostępnił on legacy kext o nazwie AnyCardReader.kext.

 

Zabieg jest bardzo prosty. Polega on na wprowadzeniu idVendor oraz idProduct naszego czytnika kart do info.plist legacy kexta.

Opis powstał na podstawie mojego HUBa z czytnikiem kart pamięci w monitorze Dell 2709WFP.

 

Co będzie nam potrzebne:

1. Czytnik kart podpięty po USB - wewnętrzny (net/note-book) lub zewnętrzny,

2. Mac OS X 10.6.5 lub nowszy

3. AnyCardReader.kext http://hamac.pl/img/oswaldini/card_read ... r.kext.zip

4. Opcjonalnie IORegistryExplorer

5. Narzędzie do przeliczania HEC do DEC (w internecie tego pełno, link poniżej) lub kalkulator w Mac OS X. Trzeba przejść do trybu programisty (CMD +3). Wartość wpisujemy przy zaznaczonej opcji "16" (HEX) a po jej wpisaniu przełączamy na "10" (DEC)

5.png

http://www.statman.info/conversions/hexadecimal.html

 

 

Jeżeli nie jesteśmy pewni jak nasz czytnik kart jest podpięty (np w laptopie):

1. Uruchamiamy program IORegistryExplorer,

2. Wsadzamy kartę pamięci,

3. Szukamy pola które jest podświetlone na zielono

1.png

Jeżeli nasze pole znajduje się w sekcji USB (można poznać po oznaczeniu EUSB, USBE, UHCI, EHCI, USBx, UHCx) wszystko już wiadomo i możemy przystąpić do odczytania naszych ID.

 

Metoda 1. Odczytanie ID w IORegistryExplorer:

1. Uruchamiamy program IORegistryExplorer,

2. Wsadzamy kartę pamięci,

3. Szukamy pola które jest podświetlone na zielono,

4. Przechodzimy do wiersza do którego podpięta jest karta (w moim przypadku Flash Card Reader@1d151100),

5. Wyszukujemy linie idProduct oraz idVendor - zapisujemy sobie te dane,

6. Konwertujemy ID z HEC do DEC (u mnie: 2228 -> 8744, 424 -> 1060).

 

Metoda 2. Odczytanie ID w Profilu Systemu:

1. Uruchamiamy Profil Systemu: /Programy/Narzędzia/Profil Systemu.app,

2. Przechodzimy na zakładkę USB,

3. W drzewie urządzeń USB szukamy naszego czytnika kart (w moim przypadku Flash Card Reader),

4. Po zaznaczeniu czytnika kart, poniżej pojawią nam się jego dane w tym: ID Produktu (idProduct) oraz ID producenta (idVendor) - zapisujemy sobie te dane,

5. Konwertujemy ID z HEC do DEC (u mnie: 2228 -> 8744, 424 -> 1060).

2.png

 

Edycja info.plist

1. Ściągamy AnyCardReader.kext,

2. Klikamy prawym przyciskiem myszy, wybieramy pokaż zawartość pakietu, przechodzimy do /Contents/Info.plist

3. Wprowadzamy nasze ID (w formacie DEC) do pięciu kategorii:

  • - Fake Apple Card Reader Device
    - Fake Apple Card Reader Interface
    - Fake Apple Card Reader UMC Inject
    - Fake Apple Card Reader SBC Inject
    - Any_Internal_SD_Card_Reader_1_00

Poniżej zaznaczone na czerwono wartości do edycji na nasze:

<?xml version="1.0" encoding="UTF-8"?>

CFBundleDevelopmentRegion

English

CFBundleIdentifier

com.AnV_Software.driver.AnyCardReader

CFBundleInfoDictionaryVersion

6.0

CFBundleName

AnyCardReader

CFBundlePackageType

KEXT

CFBundleSignature

????

CFBundleVersion

8.8.8

IOKitPersonalities

Fake Apple Card Reader Device

CFBundleIdentifier

com.apple.driver.AppleUSBMergeNub

IOClass

AppleUSBMergeNub

IOProviderClass

IOUSBDevice

IOProviderMergeProperties

bcdDevice

38963

idProduct

33795

idVendor

1452

non-removable

yes

USB Product Name

Internal Memory Card Reader

USB Serial Number

000000009833

USB Vendor Name

Apple

idProduct

345

idVendor

3034

Fake Apple Card Reader Interface

CFBundleIdentifier

com.apple.driver.AppleUSBMergeNub

IOClass

AppleUSBMergeNub

IOProviderClass

IOUSBInterface

IOProviderMergeProperties

bcdDevice

38963

idProduct

33795

idVendor

1452

bConfigurationValue

*

bInterfaceNumber

*

idProduct

345

idVendor

3034

Fake Apple Card Reader UMC Inject

CFBundleIdentifier

com.apple.driver.AppleUSBMergeNub

IOClass

AppleUSBMergeNub

IOProviderClass

com_apple_driver_AppleUSBCardReaderUMC

IOProviderMergeProperties

idProduct

33795

idVendor

1452

Physical Interconnect Location

Internal

idProduct

345

idVendor

3034

Fake Apple Card Reader SBC Inject

CFBundleIdentifier

com.apple.driver.AppleUSBMergeNub

IOClass

AppleUSBMergeNub

IOProviderClass

com_apple_driver_AppleUSBCardReaderSBC

IOProviderMergeProperties

Product Identification

Internal Memory Card Reader

USB Serial Number

000000009833

USB Vendor Name

Apple

idProduct

345

idVendor

3034

Fake Apple Card Reader SCSI Inject

CFBundleIdentifier

com.apple.driver.AppleUSBMergeNub

IOClass

AppleUSBMergeNub

IOProviderClass

IOSCSIPeripheralDeviceNub

IOProviderMergeProperties

Vendor Identification

APPLE

Product Identification

SD Card Reader

Product Revision Level

1.00

Peripheral Device Type

0

Product Identification

Multi-Card

Vendor Identification

Generic-

AnySDCardReaderAppleSBC

CFBundleIdentifier

com.apple.driver.AppleUSBCardReader

IOClass

com_apple_driver_AppleUSBCardReaderSBC

IOProviderClass

IOSCSIPeripheralDeviceNub

Peripheral Device Type

0

Product Identification

SD Card Reader

USB Mass Storage Characteristics

Max Logical Unit Number

0

Vendor Identification

APPLE

AnySDCardReaderAnySBC

CFBundleIdentifier

com.apple.driver.AppleUSBCardReader

IOClass

com_apple_driver_AppleUSBCardReaderSBC

IOProviderClass

IOSCSIPeripheralDeviceNub

Peripheral Device Type

0

Product Identification

Multi-Card

USB Mass Storage Characteristics

Max Logical Unit Number

0

Vendor Identification

Generic-

Any_Internal_SD_Card_Reader_1_00

CFBundleIdentifier

com.apple.driver.AppleUSBCardReader

IOClass

com_apple_driver_AppleUSBCardReaderUMC

IOMediaIcon

CFBundleIdentifier

com.apple.iokit.IOSCSIArchitectureModelFamily

IOBundleResourceFile

SD.icns

IOProviderClass

IOUSBInterface

Physical Interconnect

USB

Physical Interconnect Location

Internal

Read Time Out Duration

30000

SCSI Device Characteristics

IOMaximumBlockCountRead

8192

IOMaximumBlockCountWrite

8192

Write Time Out Duration

30000

bConfigurationValue

1

bInterfaceNumber

0

idProduct

345

idVendor

3034

OSBundleRequired

Root

4. Zapisujemy zmiany,

5. Wrzucamy edytowany AnyCardReader do miejsca gdzie trzymamy nasze hackintoshowe kexty (np. /Extra/KextStore),

6. Nadajemy uprawnienia, przebudowujemy mkext i uruchamiamy ponownie system. Jeżeli nic wam to nie mówi zapraszam tu: http://hamac.pl/topics30/x-tra-refresher-vt3692.htm

 

Efekt końcowy:

Przed:

przed.png

Po:

po.png

3.png4.png

 

Dla nadgorliwych :)

Poza samymi ID czytnika (aby zaczął działać) można edytować wyświetlaną nazwę, numer seryjny, wersje. Wprawne oko szybko wyłapie co i gdzie trzeba wprowadzić.

 

Źródło:

http://www.insanelymac.com/forum/index.php?s=52218d358599e3d1f1438e52ef5c661a&showtopic=237068&view=findpost&p=1582928

Link to comment
Share on other sites

  • 5 months later...
  • 1 month later...

:idea:

Można się pokusić i grzebnąć kext systemowy AppleStorageDrivers.kext

 

Znajdziemy go w S/L/E… ów kext w zawartości posiada między innymi AppleUSBCardReader.kext,

w którym edytujemy dwa pliki (Info.plist)

Pierwszy jest w zawartości w/w kexta, a drugi w jego Contents

 

Edytujemy po dwie linie w każdym pliku

idProduct i idVendor

 

 

Procedura: Odczytu i przeliczenia tak jak w pierwszym poście oswaldini opisał.

post-2105-13904296246483_thumb.png

post-2105-13904296247841_thumb.png

Link to comment
Share on other sites

..niestety to co proponujesz jest bez sensu ponieważ po każdej aktualizacji...

No fakt, co racja to racja

myślałem że świat zwojowałem a tu..

... moje wypociny psu na budę :mrgreen:

 

 

Próbowałem Twojego rozwiązania już dawno... i jest jak najbardziej OK.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.