Bios Mods -The Best BIOS Update and Modification Source

Full Version: Asus N73 - no boot from internal card-reader (bios/hw mod required?)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hello, ppl

I have some trouble with asus nb (n73sm) - it doesn't boot from internal card reader. When the card sits inside during turn-on and entering bios - there's no "mass media" device detected, so no way to select it as first boot-entry.
I also have another nb - k50id - and is does boot from sd-card, placed in internal card-reader ok. When the card sits inside during turn-on and entering bios - there is a "mass media" device detected (smth. like "USB Multicard").

What i tried/know so far (no positive result reached yet):
- updated nb bios to latest stock 302
- modified original 302 bios (ami IV) so that all options are unlocked (there's "USB config" in Advanced, but nothing helpful there) and flashed it; tools used: amibcp_v4-55-0070, mmtool_v4-50-0023
- both nbs (n73sm and k50id) utilize Alcor Micro Usb2 card reader, sitting on usb (no pci/pci-e card-readers involved in this case)
- i noticed, that n73, upon booting to OS win7 with inserted card - there's no card discovered in "my computer" until i re-insert it - wtf? some weird hw solution? or alcor driver, loaded by os, somehow "enables" chip?

Any ideas what to do next?

p.s: if needed - i can get close pictures of motherboard near alcor chip
so i looked further into this card "re-insertion" thing:
turned out, n73sm has au6437 chip (vs au6433 on k50id), that incorporates "power-saving mode". so i tied pin 43 low (soldered 0-ohm link), and now upon booting win7 card reader always present, no matter if card is inserted or not

but
it has absolutely no effect on bios detecting "usb multicard"-like device, so still unable to boot from card-reader
any ideas? now, when hw stuff looks 2b out of the picture, it definitely must be bios

p.s.: an alternative solution came to me: jump-wire data+/data- from au6437 to one of the back-side usb-ports;
pros: *probabl* boot problem will go away
cons: minus one usable usb2 port
+ also, while in n73 bios on advanced->usb configuration tab i noticed:
1 keyboard, 1 mouse, 2 hubs
could it be, that if internal card-reader is connected via "hub" (vs directly to south bridge) - it's not detected by bios?
Don’t know for you case.
On some leaked bios source code I see some USB block list or something like that.
Not all USB ports are enumerated during post (that speed up bios post time) ports excluded like internal webcam,additional BT module USB port and in some cases even internal card reader.
In my case,but was Inside BIOS, that check was in usb mass storage bios module.
As result usb ports where internal webcam,bt module,internal card reader was ignored and that was all .
After modified module was placed into bios I can boot from card reader but bios post time increased a little, around 0.5-0.8 seconds I estimated.
new stuff:
- cougarpoint-m pch, which is incorporated into n73s*, has 14 usb ports; card-reader is connected to port11 (0-based)

> Not all USB ports are enumerated during post
now that is interesting
if i rewire card-reader to another port, and it works - that is definitely the case

> usb mass storage bios module
i'll try to find such module in original bios, disasm it and fix this weird "time-saving optimization"

> After modified module was placed into bios
can you provide more details on your fix? or maybe particular original/fixed module files?
On leaked AMI BIOS source code you may find this as
USB_SKIP_LIST
and
UsbSkipList
from what i discovered, usb skip list is implemented differently on 016s (n73 - sandy bridge) bios version vs 018s
function USBIdentifyAndConfigureDevice (usb\rt\usb.c) checks OEMSkipList and returns nullptr on match
so my guess would be: module to be modified
|099|USBRT |04EAAAA1-29A1-11D7-8838-00500473D4EB|00286811|00F115|DRVR|

but i still have some trouble identifying the specific place for patch (using ida7) - i'm still unable to match disasm with actual code, even EP doesn't match
maybe it is not the actual code used? or it was heavily optimized (inline/merge)
update: so i managed to re original bios module usbrt, and found that in latest version (302) the OemSkipList-based mechanism is not yet implemented, and this is very strange, because a fix EIP51653 is commented in sources and dated 4/06/11, and bios itself is dated 2012)

the only check inside USBIdentifyAndConfigureDevice is of dev-compatibility (USBCheckNonCompliantDevice sets incompat-flags)
patched it to skip this check
still not working...

+also tried patching uhcd module, to skip check of flags USB_FLAG_MASS_MEDIA_CHECK (USB_FLAG_MASS_SKIP_FDD_MEDIA_CHECK) - for the case, when no media in device - no results

any more ideas?
Maybe usb INT13 which deal with usb storage don't check that port?
usbint13 module re in process
not found any blacklist-like code
but
seems that in original bios USBDEVS_MAX_ENTRIES is defined as 8 (vs 16 in leaked source)
and same constant is used in all relevant for-cycles during enumeration
maybe it's somehow messed up (and it reaches only 0-7, but do not reach 11), i'll look into it
thanks

+also strange thing in AmiUsbDriverEntryPoint:
gAmiUsbController->UsbInstallLegacyDevice = Dummy1;
gAmiUsbController->UsbUninstallLegacyDevice = Dummy1;
these func-ptrs are initially defined as dummy stubs, and later when usbint13 module loaded, it redefines them
not sure yet, what conditions lead to usbint13 load

+another strange thing i found is boot-entry-override algo, there's a note in src:
// See if OEM asks for USB boot override for this device. If yes, store
// BBS index of this device, later at READY_TO_BOOT this BBS device will
// be assigned priority 0 (highest).
...
// Note2: This feature will only be available for the devices connected
// directly to the root port; devices behind the hub(s) will be ignored.
not sure how exactly hubs are connected, but bios reports "2 hubs", and if card reader is connected through one of them - there might be more problems

+ ok, now i understand about "2 hubs" in bios "usb advanced" (schematics in the attach)
Pages: 1 2