Page 7 of 42

Posted: Sat May 03, 2008 10:49 pm
by SHoTTa35
http://rm-f.net/~orange/devel/specifica ... cem_10.pdf

go to page 13. It shows both sides of the pci-express cards.

Posted: Tue May 06, 2008 10:38 am
by korenwolf
I was wondering if anyone had ordered the internal antenna and had any advice getting it installed? I got mine today and hope to give it a shot (right now i'm using the internal antenna from my broken 595U).

Also anybody have any ideas about mounting an external antenna jack? I figured I could poke around and either look for some room near the side walls to mount a bulkhead connector or run it out through the PCMIA slots, although I might want to use those sometime in the future. Unfortunately I seem to be having trouble finding ready made pigtails for SMB or FME to U.FL, does anyone have a good source? Or shall I be stuck crimping connectors (not that bad I know)?

Oh one minor cosmetic thing, there appears to be an LED between the bluetooth and I'm guessing the numlock that activates when the WAN goes on, do they sell replacement strips for that?

Thanks again to zender for a great hack. Works like a charm.

Posted: Tue May 06, 2008 10:42 am
by SHoTTa35
if you got the correct one for the system then there's a place for it in the LCD. Look over to the right of the machine at about 2 inches from the bottom and you'll see a cutout there. With the original 3rd antenna, it gets routed up thru the left hinge for the LCD, runs along the bottom to that area where it's screwed in (replaces the blank that's there now)

Posted: Tue May 06, 2008 12:54 pm
by korenwolf
Thanks I got it in place without too much trouble, do you happen to know why it has a little bit which slides in and out? I can't imagine that makes a difference in signal.

Posted: Sun May 11, 2008 6:56 pm
by Phil21
Thanks a ton to Zender, great work!

I was able to successfully upgrade my first-gen T60 MC5720 WWAN card to a MC5725 card from a T61. (Lenovo branded of course)

There were a few hiccups in the process, which in restrospect are pretty easy to figure out. I'll list them here to hopefully save some others some time.

1. I got a weird BIOS update error, stating I needed to turn off Bitkeeper prior to an upgrade. This was strange, as I run XP and thus don't have it enabled. After fiddling around a while, simply turing off the "security chip" in the bios fixes this and I was able to flash successfully.

2. Upon boot, I installed the T61 drivers for the Sierra card from Lenovo's website. Rebooted, but access connections said the device was powered off. Fn-F5 did not show the WWAN adapter at all, however the device was present in device manager.

3. To fix the above, basically you simply need to update your software using the software update utility from Lenovo. It had been.. A while... since I had updated mine :)

4. After updating the software, Fn-F5 again showed the WWAN card.

5. Head over to vzam.net and grab the latest Verizon Access Manager for the T61.

Once the above were installed/updated, a reboot and everything worked great. Basically as if I was using the original WWAN card that came with the laptop, just at Rev A speeds.


On a separate note, I took a look at upgrading to a 4965AGN wireless adapter in preparation to moving my network to Wireless-n. However, the pictures I see show 3 antenna connections. Does anyone know if all three are necessary? If so, it looks like slapping one in a T60 is a no-go :( Admittedly I know basically zero on Wireless-n thus far, so I have some google'in to do.

Anyways, thanks again for Zender's, and everyone elses help!

-Phil

Posted: Sun May 11, 2008 7:20 pm
by Zender
Three antennas are definitely better, but you can easily get away with using some generic laptop antenna (u-FL connector, support for both 2.4 and 5GHz bands) and routing it below the palm rest. For highest speeds you need the third antenna so that you have third receive channel.
While the signal could've probably been better with placement in display, the price for this is T61's thick screen bezels which put it off-center. T60 cannot have the third antenna when you have WWAN antenna.

Posted: Thu May 15, 2008 9:52 am
by mreinhold
Hi

I do own a T43 (1871-F1G). Is there a fix for this model that is reportedly working?


Cheers

edit: The question sounds rather stupid considering this thread. What i mean is, has anyone successfully applied Zender's fix on a 1871 model? I'm kinda missing reports of success. ;)

Posted: Thu May 15, 2008 6:37 pm
by bill bolton
Zender wrote:but you can easily get away with using some generic laptop antenna (u-FL connector, support for both 2.4 and 5GHz bands) and routing it below the palm rest.
If, like me, you are right handed, and rest your hand on the palm rest to the right hand side of the Thinkpad when using the track point, make sure you put the antenna under the left hand side of the palm rest... it looks like there is less room on the left hand side but a thin antenna plate will still fit.

There appears to be more room on the right hand side on most ThinkPads, but if you rest your hand over the top of the antenna location, it reduces its efficency significatly (guess how I found that out... :banghead: )

Cheers,

Bill B.

Posted: Wed May 21, 2008 9:51 am
by mreinhold
Just so you know: Zender's fix works on 1871-F1G (T43). I installed a Broadcom 4306 device. System boots without 1802. Linux recognizes the device without problems. Mac OSX recognizes it as Airport-Device.

Cheers

Posted: Wed May 21, 2008 11:30 am
by simdao
I put the 4965AGN (With FRU) to replace my 3945ABG installed in my X60Tablet. After system boot-up it pop up 1802 error.

I call Lenovo technical support, they tell me X60T is not support to install 4965AGN although with FRU.

I would like to know if there any possible way to get the 4965 work in my X60T?

I just flash my bios to 1.13, could i get the mod bios for my X60T?

Thanks

Posted: Wed May 21, 2008 10:18 pm
by shygrouch
Working on a R61i here. Trying to get an Intel branded 4965agn mini-pcie card working. Read through the entire thread but I haven't seen any post related to the R-series. Any idea if the bios patch will work on the R series? I've tried taping over pin 20 several times but I keep getting the 1802 error. Is that normal?
Thanks in advance.

Posted: Thu May 22, 2008 7:12 am
by simdao
the modified bios work excellent on my x60t. i downgrade the bios to 1.11 mod ver. access connection, function key and led is work functional.

only problem after install the new card is you should reinstall access connection to identify the new card.

Thanks

Posted: Fri May 23, 2008 10:41 pm
by danage
@Zender:

a) Congratulations to your work. I know the road you are taking because I was attempting to fix a similar BIOS problem (01C9) in a similar manner but then found an easier way around the 01C9 problem. I have been almost as far, so I know how much it took, so kudos for the achievement.

b) Have you considered putting your documentation into the Thinkwiki? A long thread can get quite confusing. I have put my solution into the thinkwiki and after I stopped working on it, to my great surprise I found that people were actively progressing on it and developing it further. So if you plan to document, why not use the Thinkwiki? People probably would really appreciate it :)

@everybody else
The 2010 error in the T43 series (and R5x I believe) should also be permanently curable this (or a similar) way.

Also, the 1802 and 01C9 errors in all other Thinkpads - even those in which the CMOS patch works.

Posted: Sat May 24, 2008 8:24 pm
by Zender
Unofrtunately, the patch I've done to the BIOS is pretty specific for this problem, because I haven't found the actual reporting/halting routine (tried a bit, but a bit was not enough), so even though other errors should be fixable, too, it won't be that straightforward to continue this work. I have modified routines which read device IDs and compare them to whitelist - these are pretty easy, because you just find the actual whitelist table (you know card IDs), see its location and search for references to that location. String table (with error messages) is more problematic because it's indexed internally, so the strings have just some small number referring to them and you find that all over the BIOS.

I agree I should document what I have done, and I will do it, but I wonder if it's really good to do on some frequently visited place. One single wrong byte can essentially cause your mainboard to hang on boot with no option to recover and if I make it too easy for people to do, irresponsible people might start playing with fire. From similar reason I'm not very keen on (anyone) experimenting with patching errors which are only annoying (press a key...) and don't disallow you anything.

Also I would not recommend this patch to anyone who can get away with CMOS patch, as that one can't go wrong. BIOS update can wrong, even though the chance is very small (with tested BIOS, that is).

mc8775V

Posted: Mon May 26, 2008 1:37 pm
by oussama
New here and I have followed all the threads, I have an x300 and willing to take the risk. It came with mc8775 Lenovo FRU and wish to use the voice version MC8775V. I do get the 1804 error. any ideas?

Posted: Sat May 31, 2008 7:29 pm
by danage
Also I would not recommend this patch to anyone who can get away with CMOS patch, as that one can't go wrong.
I could not agree more and would defer to the updated fix for a lot of Thinkpad models' BIOS issues:
http://www.thinkwiki.org/wiki/Problem_w ... et_devices

Posted: Sun Jun 01, 2008 8:21 pm
by barteq
Hello all!

I see this topic is quite calm and quiet.. Last post from about month ago.. Time to refresh a bit.

Problem is marked as solved, but actually not for everyone. As I see, you were writing PM to Zender, and recieved a patched bios files. That sounds cool for me. I've sent a message in half of april. Now we have june with no feedback from him ;/

This situation made me write here and ask for your support. Need bios for 14" T61 with no WWAN whitelist. Now I'm using patched bios but removalis only made for WiFi slot, not WWAN one. My mod (that was found on site linked here - but not accessible from a month) is called 7luj13uc-modC.iso .
Maybe some of you downloaded some other BIOSes and could share it? Especially if an unauthorized wan card is working after applaying it. My original BIOS is exactly this one - http://www-307.ibm.com/pc/support/site. ... MIGR-67989

Card I'm tryng to use is unbranded Sierra Wireless MC8755.

Thanks for your support.

Posted: Tue Jun 03, 2008 5:32 am
by vpn-user
BTW I modded Sierra Wireless' Generic Driver to also work with Lenovo Cards (This one is most recent, Lenovos original driver is rather old!): http://forum.thinkpads.com/viewtopic.ph ... highlight=

Posted: Tue Jun 03, 2008 9:49 am
by barteq
Thanks for info!
Maybe it will be useful for some other members.

My problem is different. First of all I'm using Linux. Second - don't have a Lenovo branded card, third - I can't get through BIOS, becouse of "unathorized WWAN detected" error.

Posted: Thu Jun 05, 2008 2:09 am
by enneract
Radioguy wrote:
morten4040 wrote:MOD EDIT: That Link does not seem to go anywhere.
It must have just gone down. Here's the cache:

http://64.233.169.104/search?q=cache:ht ... Fmods.html
cache is down.

Does anyone have the patch for t60p floating around their hdd?

WWAN Antenna

Posted: Fri Jun 13, 2008 4:06 pm
by levasoft
Hi Everyone!

I just installed a Novatel 870D WWAN (HSDPA) card in my X61T. Everything is working fine thanks to Ender (Zender), except that I have relatively poor reception. I used the center antenna cable from the wifi card, which had 3 cables. I guess that's not the finest solution, so I'm asking You, what is the best way to handle the internal antenna question? I've been looking for internal antenna part numbers, but not shure whether it is a sticking out version antenna, or a real internal antenna. (I live in Europe, so I guess the stick-out version is for EV-DO, but I might be wrong).
Any advice would be appreciated,
Thanks,
Levente

Re: Whitelist solved

Posted: Tue Jul 01, 2008 11:23 pm
by atraq
Hey Zender,

Been reading through this thread for a couple of hours mate and must say great effort on your behalf as well as everyone else that has cotributed to resolving numorous issues.

Having said that i am one of those people suffering form the issues outlined in this forum regarding the bios freeze when i install my new IBM/Lenovo ThinkPad 802.11a/b/g/n Atheros AR5BXB72 MIMO Wireless MINI PCI Express Adapter.

I have a T60P model 2623-DDU running Vista Ultamate 32bit.

So if you have a bios fix that is suitable for my system mate I would appriciate if you could forward it to me.

Once again great work and I hope to contribute in the near future with any other issues.

Zender wrote:Hi folks :)

Modified BIOS has been tested successfully on four T60, one X61t and one R32. It's been five days since first T60 was flashed, nine since R32, and everything works as expected. I consider the problem solved. These machines allow any WWAN/WLAN card to be inserted and won't complain with 1802 or 1804 error.

I've invested a lot of time in it and have to take care of my other tasks too now, so maybe next week, I'll create a tool to modify the BIOS image and share it with others. Ideally, you'll have just to take .FL1 file from the BIOS update, run it through the program and put the modified file back to the CD, perhaps using MagicISO (as I've done).

I have working BIOS images for T60, X61t and also R32, you can ask for these in the meantime (PM). X60 needs a change in module size, so that will come later after I do some more testing.

I would like to thank everyone who has helped, specifically bonnem, for allowing me to do a proof-of-concept changes to the BIOS on his T30, Jumme for being the first tester with machine in daily use, maimbourg for bearing with my inability to calculate checksum and short101 for a nice talk and information about generic MC8775.

Mission accomplished.

Re: T6x BIOS device whitelist (error 1802/1804) [solved]

Posted: Mon Jul 14, 2008 10:10 am
by Wakatsuki
Hi! everyone :)
Thanks for Zender's greatly useful information and verification by other contributors.
I succeeded on my X60 tablet, refering to those information and using tools from following URL.
http://ender.in/bios.tools/
Now, I can use Intel branded 4965AGN(8086:4229 8086:1103).

In my case, the compressed modules of BIOSCODE5 grew 3 bytes after rewriting device (subsystem) ID and compression by prepare.exe.
Since I didn't know how to write a script file for catenate.exe, I used phnxmod.exe from URL above.
Therefore, I re-rewrote more IDs in order to make compressed module size identical to original one by try and error. :(

Zender,
you wrote about "do-it-yourself" set of tools.
Please let me know more about it.
Especially about correctly composing BIOS-rom file from compressed modules even if they have different sizes from original ones.
Zender wrote:EDIT/Results of this thread: If you need a modified BIOS, please send me a PM, until I post public page with "do-it-yourself" set of tools.

Posted: Mon Jul 14, 2008 1:36 pm
by Zender
Hello,

firstly I have to congratulate you on succeeding in patching your BIOS :)

Since I last posted in this topic, I've advanced the tools a little bit, which means I have a tool to apply patches to BIOS and have written four most common patches for 1802/1804/1805 errors in recent ThinkPads, so they can be automatically applied to any version of any ThinkPad BIOS (when the searched pattern is present).

However, even though I probably know how to update phnxmod with the ability to grow/shrink modules, I haven't had chance to test that on any machine (I just ask someone every now and then about spare machine around them...).
I've learned how to do that on BIOSes from other notebooks, which can be fully split and recomposed by phnxdeco/prepare/catenate, trying to modify a byte here and there and comparing the result from prepare+catenate.

Basically all patches to BIOSes I have done until now have been done similarly to yours - after modifying the checking routine, I take the (now unused) whitelist and alter it by trial-and-error so that the size matches. Actually I'm now almost thinking about mimicking this programatically so that the "do-it-yourself" tools can be completed even without updating the phnxmod.

Posted: Mon Jul 14, 2008 10:18 pm
by Wakatsuki
Thanks for replying, Zender.
I understand that
1. Errors are avoided by modifying checking routine (not a whitelist),
2. The space of whitelist is used for controlling compressed module size.
As you say, the test using real thinkpad has a lot of risk.
If there were something like virtual Thinkpad...
I also think it is safest way to make modified module size identical to original one.
Your idea, in which it is automatically done, may be adequate in this case.

Thanks again.

Posted: Tue Jul 15, 2008 7:23 pm
by Zender
1. Originally I was also thinking about changing the whitelist, didn't think of anything else as it was associated with higher risk in my mind... but Bill Morrow here suggested it would be nice to remove the check completely, and so it was done, and actually sometimes doesn't even change the compressed size.
2. Yes. It was the easy way to go.

Virtual ThinkPad would really help this matter... or BIOS recovery option would be also enough, yet it's either not included or it hasn't leaked from Lenovo how to invoke it.

Posted: Tue Jul 15, 2008 8:12 pm
by vsicth
I'm new here. Wanting to patch latest BIOS for the X60s, in order to upgrade to the MC5725 WAN card. I've read many posts here, but can't exactly find the instructions to do this.

Can you show a link to an instruction set, or is this a paid service?

Posted: Tue Jul 15, 2008 10:03 pm
by gongo2k1
OT: it seems like everyone who opens with "i've read this whole thread and can't find the download..." never actually read the thread.

i've spent the past 2 nights disassembling the x41 bios (actually, on a crusade to find out where the 2010 error is triggered) and came across this thread.

being a self-taught c programmer, i figured i'd try to learn a little asm the same way.

the routine that triggers 1802 on the x41 is in BIOSCOD1.ROM and comes at the tail end of pci id-checking functions. i've noticed 2 things:
1. it apparently only checks dev_id:ven_id before passing or failing. it must be checking the subvendor id elsewhere (or else it's most likely using a clever bit masking logic to further check)
2. it is probably the last function to check pci ids because from what i can tell (remember, i've only been looking at asm for a couple hours, so it's still a little fuzzy) it calls a separate function to enum all pci devices, incrementing ax until it's done, then puts it in cx and calls a loop (thereby auto decrementing cx on each interation) to check against the whitelist. each time it pulls the next pci id into eax before the comparison. once it runs out or fails, we get the wonderful 1802 error.

oh yeah, tracking down the strings isn't so bad as finding where they're referenced since they're all in STRINGS0.ROM, you can at least figure out what the index should be, but it looks like the offset is calculated in edi and then searched for that way. it doesn't help that there are a bunch of push and pop in between... kinda hard to keep track of without an interactive debugger.

anyone have a recommendation for a good debugger in linux? it's becoming a little annoying...

my question to Zender et al.: is the t60 doing a separate check for the subvendor id?

i'm only seeing this:

Code: Select all

0000639F  668BC3            mov eax,ebx
000063A2  E86900            call word 0x640e  ; this grabs the new pci id
000063A5  663D86804310      cmp eax,0x10438086  ; intel 2100
000063AB  7418              jz 0x63c5
000063AD  663D86802042      cmp eax,0x42208086  ; intel 2200
000063B3  7410              jz 0x63c5
000063B5  663D86802342      cmp eax,0x42238086  ; intel 2915
000063BB  7408              jz 0x63c5
000063BD  663D86802442      cmp eax,0x42248086  ; intel 2915
000063C3  7504              jnz 0x63c9  ; couldn't we change this to 0x63c5? or even 'nop' this out?
000063C5  B106              mov cl,0x6
000063C7  EB2D              jmp short 0x63f6  ; this goes to the victory dance
000063C9  80C708            add bh,0x8
000063CC  E2D1              loop 0x639f  ; this loops 'cx' times
there are also two other very similar sections above this, possibly checking the modem? bluetooth is usb1.1 device, so it wouldn't be checking that.

Posted: Tue Jul 15, 2008 10:21 pm
by gongo2k1
i'm curious about this because my oem intel 2915abg didn't work until i changed the pci id from 2342868000108680 to 2442868010108680, so it's gotta be checking subvendor id somewhere.

at present, this is the only known way of resolving 1802 on the x41 since the cmos patch doesn't work. if we can disable the test in the bios, then we could come up with a patch for it because the bios is already at its terminal release anyway (at least, i wouldn't anticipate any further bios revisions for the x40/1 series).

BTW: those of you who'd rather change the wifi eeprom than the bios whitelist can look here for directions and a pre-compiled ipw2200 module for knoppix 3.8.2 (yes, it's older, but it works).

EDIT: i realize i'm the odd man out here with mini-pci since everyone else is looking at mini-pcie (this is a t60 forum after all), but i think this is useful info for everyone.

i'd still like to eliminate the whitelist check for a possible future upgrade to 802.11n (if i can get my hands on a sparklan card, that is).

thanks.

Posted: Wed Jul 16, 2008 7:29 am
by Zender
Hello there,

I have also noticed these functions you've encountered in BiosCode1, but believe me they don't have anything to do with triggering the error.

The actual function which will trigger the error is in BiosCode5 at 5966h. This position is without 27-byte header - remove it before disassembling, because it makes absolute in-module addresses wrong. This exact function is found on all ThinkPad models I've tried to deal with, including T30 when testing.
Then there's one more function, which has one more whitelist, and on that one depends whether hardware wireless switch will work and whether taping disable pin on the card will be neccessary. This is also valid for X41, I've opened it a short while ago.

At 5B40h, byte 9A is moved into ax (this is error code 1802) and some function gets called - not sure whether the error is reported right now or stored for later, however, this is the key event. In newer BIOSes, there are 9C for 1804 error and 9D for 1805 error.

Actually, I've recently checked T61 BIOS for some fan error triggered by penryn processors and got lucky that time as the error string was, for reasons unknown to me, directly in BiosCode5, referenced by address.