Hi Rich,
Thanks for your valuabel suggestion
I have implemented the same and I do not see any Pop Up, but still I am not able to access the interface until I go to SystemPreferences->network where one dialog popus saying new interface detected and it displays ok option, After We accept this only we will be able to access Network Interface. Is this the correct behaviour. If not please let me know where did I do mistake.
I have checked using the USBProber.app and the Prober score I see as follows,
1135.288 [5]Finding device driver for BCS200 matching personality using com.apple.iokit.IOUSBUserClient, score: 106999, wildCard = 3
1135.285 [6] Matched: idVendor (0x6543) idProduct (0x768) bcdDevice (1)
1135.285 [6] Didn't Match: nothing
1135.288 [5] Finding device driver for BCS200 matching personality using com.UsbEnetAdapter, score: 90000, wildCard = 0
1135.288 [6] Matched: idVendor (0x6543) idProduct (0x768)
1135.288 [6] Didn't Match: nothing
1135.303 [5] Finding device driver for BCS200 , matching personality using com.UsbEnetAdapter, score: 90000, wildCard = 0
1135.303 [6] Matched: idVendor (0x6543) idProduct (0x768)
1135.303 [6] Didn't Match: nothing
1135.317 [5] Finding device driver for BCS200 , matching personality using com.apple.iokit.IOUSBUserClient, score: 106999, wildCard = 3
1135.317 [6] Matched: idVendor (0x6543) idProduct (0x768) bcdDevice (1)
1135.317 [6] Didn't Match: nothing
1135.319 [5] Finding device driver for BCS200, matching personality using com.apple.driver.AppleUSBMergeNub, score: 90000, wildCard = 0
1135.319 [6] Matched: idVendor (0x6543) idProduct (0x768)
1135.319 [6] Didn't Match: nothing
1135.319 [5] AppleUSBMergeNub[0x6c73a00]::MergeDictionaryIntoProvider merging "New Interface Detected Action"
1135.319 [5] AppleUSBMergeNub[0x6c73a00]::MergeDictionaryIntoProvider setting property New Interface Detected Action
Is there any way we can do this in 10.5 version also?
Thanks for the help.
Thanks and Regards,
Madhava Reddy S
--- On Fri, 22/1/10, rich kubota <email@hidden> wrote:
From: rich kubota <email@hidden> Subject: Re: USB Ethernet Driver - resp with URL To: "siddareddy madhava reddy" <email@hidden> Cc: "Darwin Drivers" <email@hidden> Date: Friday, 22 January, 2010, 10:57 PM
Madhava,
I should clarify my previous answer. Let's start with the driver that you had prior to implementing the codeless kext modification. As such, you had a single personaility which IOKit would see and use to match to your device. To acheive your desired results, you want to create a second IOKit personality - which also has the same (or better) match criteria for your device, but which presents the entries as shown in the sample "NewInterfaceDetected" sample codeless kext. For example, you will want the plist to like below.
When IOKit sees these personalities, the resulting probe score will be 90000 for both entries (both the VID/PID match). Since they both match, the probe methods for the 2 referenced kexts will be called -
com_UsbEnetAdapter:: probe
AppleUSBMergeNub::probe
The AppleUSBMergeNub probe function is such that it will always fail, but the probe method is designed to detect properties present in the IOProviderMergeProperties dictionary and register them with the associated node (the USB device node in this case). This means that the property "New Interface Detected Action" will be associated with the device node. Later, when the SystemConfigurator detects the new network device, it will scan the IORegistry node of the device, detect this property and know not to present the "New Device Detected" dialog.
Keep in mind that if you ever increase the probe score matching criteria for the real driver personality, you must also increase the probe score matching criteria for the AppleUSBMergeNub personality. If the probe score for the AppleUSBMergeNub personality is less than that for the driver personality, the mergenub::probe method will not be called.
As to checking whether the mergenub was matched.
0. with the device not connected -
1. Install the IOUSBFamily log release which matches to your version of Mac OS X
2. Launch USB Prober
/Developer/Applications/Utilities/USB Prober.app.
3. In USB Prober, click on the USB Logger tab, set the "Level" popup to 6.
4. In the "Filter Output" field, enter "match" press the return key
5. Press the "Start" button - USB Prober will now begin collecting log messages at level 6 or above.
6. Attach your device.
7. Look at the beginning of the log messages for a matching personality using "com.apple.driver.AppleUSBMergeNub" the score should be 90000. There will also be a matching entry using "com.UsbEnetAdapter".
8. Note the time stamp associated with the AppleUSBMergeNub match.
9. In the "Filter Output" field delete the string "match". You will now see all of the log entries captured by USB Prober
10. scroll down to the time stamp of the AppleUSBMergeNub match.
11. You should see a message much like
AppleUSBMergeNub[0x12345678]::MergeDictionaryIntoProvider merging "New Interface Detected Action"
Best wishes.
rich kubota
<key>IOKitPersonalities</key> <dict> <key>BCS200</key> <dict> <key>CFBundleIdentifier</key> <string>com.UsbEnetAdapter</string> <key>IOClass</key> <string>com_UsbEnetAdapter</string> <key>IOProviderClass</key> <string>IOUSBDevice</string> <key>idProduct</key>
<integer>0x768</integer> <key>idVendor</key> <integer>0x6543</integer> </dict>
<key>BCS200MergeProperty</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleUSBMergeNub</string> <key>IOClass</key> <string>AppleUSBMergeNub</string> <key>IOProviderClass</key> <string>IOUSBDevice</string> <key>IOProviderMergeProperties</key>
<dict> <key>New Interface Detected Action</key> <string>None</string> </dict>
<key>idProduct</key> <integer>0x768</integer> <key>idVendor</key> <integer>0x6543</integer> </dict>
</dict>
On Jan 22, 2010, at 1:42 AM, siddareddy madhava reddy wrote:
|
Hi Rich,
Thanks for the information. I have gone through QA1667 and QA1076. I have made the changes accordingly in the Info.plist
<key>IOKitPersonalities</key> <dict> <key>BCS200</key> <dict> <key>CFBundleIdentifier</key> <string>com.UsbEnetAdapter</string> <key>IOClass</key> <string>com_UsbEnetAdapter</string> <key>IOProviderClass</key>
<string>IOUSBDevice</string> <key>IOProviderMergeProperties</key> <dict> <key>New Interface Detected Action</key> <string>None</string> </dict> <key>idProduct</key> <integer>0x768</integer>
<key>idVendor</key> <integer>0x6543</integer> </dict> </dict>
But I still see the New Interface detected Dialog box. I am using 10.6.1 version of MACOS as mentioned in QA1667.
Please let me know If I am missing anything.
Thanks, Madhava Reddy S --- On Thu, 21/1/10, rich kubota <email@hidden> wrote:
From: rich kubota <email@hidden> Subject: Re: USB Ethernet Driver - resp with URL To: "rich kubota" <email@hidden> Cc: "siddareddy madhava reddy" <email@hidden>, "Darwin Drivers" <email@hidden> Date: Thursday, 21 January, 2010, 11:00 PM
It would help to have included the URL to the tech QA
On Jan 21, 2010, at 9:28 AM, rich kubota wrote:
Take a look at Tech QA 1667 "Supressing the Network Configuration Dialog".
rich kubota
On Jan 21, 2010, at 3:23 AM, siddareddy madhava reddy wrote:
|
Hi All,
I am working on USB based Ethernet driver.
When I load the driver for the First Time a New Message Box pops up saying "New USB Ethernet Interface Detected"
Then I have to click apply in the System Preferences Pane to Activate the newly created Interface.
Is there a way to avoid this Popup?
I have registered the driver a sub class of Ethernet Controller Class and Ethernet device registration is done using attachInterface function.
I was told If we need to avoid the popup we need to have two driver extensions one for USB driver and the other for Network driver extension matching the USB driver. Instead of a standard Ethernet interface, the USB driver most likely publishes itself as a custom network type, which the network driver then matches
Can some one help to get quick pointers to this documentation?
Please let me know if there is any sample source available with this model.
Thanks and Regards,
Madhava Reddy S |
Your Mail works best with the New Yahoo Optimized IE8. Get it NOW!.
|
Your Mail works best with the New Yahoo Optimized IE8. Get it NOW!. _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-drivers mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2011 Apple Inc. All rights reserved.
|