Jump to content

Mobility Radeon - 10.6.6/7 guide for QE/CI - testing 10.7


  • Please log in to reply
563 replies to this topic

#521
haunteddevil619

haunteddevil619

    InsanelyMac Protégé

  • Members
  • Pip
  • 33 posts
  • Gender:Male
  • Location:New York

Well! the "on" profile indicate that everything is loading well.
the card is properly recognized in graphic/dispaly and in pci board too with the correct fb assigned.
All the kexts are loaded: ati4600controller, atiframebuffer, radeonx2000 and atisupport.

If neither your patched version of atiframebuffer and kizwan's one works I think the patch is not the right one for your card.
No display was detected so it seems there is not a proper connection instruction on both ports. It means it's still a different card than mine.
I think you should follow mucha's guide to figure out the right values for your card's connectorType, transmitter, encoder, ports, senseid and whatever else... So you could patch your framebuffer from zero.
You can try to do it using the 10.7 (linked above) solution on an external vga display (the internal lvds gets wrong colors)


OK. Guess I will have to do everything else further by myself. But before continuing, can you tell me how should I identify my ATIFramebuffer. Because I am not sure my card uses Peregrine. Because MSI has released other similar design laptops with HDMI and same video card. So they might have put the internals for HDMI in my card but not just put the interface. So if I can confirm which framebuffer I use, I can go ahead.

Also does everst work to get mobility bios dump?

#522
c0ke

c0ke

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 111 posts
  • Gender:Male
  • Location:Venezia Bari, Italy
  • Interests:multimedia interaction design.

OK. Guess I will have to do everything else further by myself. But before continuing, can you tell me how should I identify my ATIFramebuffer. Because I am not sure my card uses Peregrine. Because MSI has released other similar design laptops with HDMI and same video card. So they might have put the internals for HDMI in my card but not just put the interface. So if I can confirm which framebuffer I use, I can go ahead.

Also does everst work to get mobility bios dump?



Ok, from bcc9's bios decode tool you'll find something like that:

ATOM BIOS Rom: 
	SubsystemVendorID: 0x1028 SubsystemID: 0x02aa
	IOBaseAddress: 0xde00
	Filename: BR32831.001 
	BIOS Bootup Message: 
BR32831-001 M92 DDR2 64bit 450e/500m										

Connector at index 0 type: VGA (1)
Connector's i2cid: 91
Connector at index 1 type: LVDS (7)
Connector's i2cid: 90

here you see all the connectors for my card and their id.
Maybe your card has a different connector scheme. Then mucha provided all the info you need to make your own patch.

to obtain a bios dump

you may need dong's RadeonDump tool and RadeonHD.kext for this method.
RadeonHD only works for 4xxx and below and only arch=i386
I find I can get dmesg from RadeonHD without setting debug=true or verbose=2, therefore leaving screen usable.
for tool google "dong VBIOS"
download vbios.zip from 1st link
(not necessary if you can extract your vbios with gpu-z in Windows and use Linux or bcc9's tool for dmesg)

dong looks like he is about to post an updated RadeonHD -- available here
http://www.insanelym...00#entry1660427


It worked for me without problems since gpu-z cannot extract the bios from mobility cards..

#523
amagawd

amagawd

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
So I've managed to get QE/CI working in lion on my dell inspiron 1545 with ati radeon 4330 256mb using ATY_Init modded with Flicker. The thing is I'm missing 86 pixels :s. How can I force it to be 1366x768 instead of 1280x768? Other then that another success I believe :),

#524
amagawd

amagawd

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
After switching from Flicker to Peregrine I now have full resolution but my video card is read as Ati radeon HD 4600 instead of the Ati Mobility Radeon HD 4330 it was reading with Flicker, I also have a lot less resolutions to choose from, will continue trying other framebuffers and keep you guys updated!

#525
c0ke

c0ke

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 111 posts
  • Gender:Male
  • Location:Venezia Bari, Italy
  • Interests:multimedia interaction design.

After switching from Flicker to Peregrine I now have full resolution but my video card is read as Ati radeon HD 4600 instead of the Ati Mobility Radeon HD 4330 it was reading with Flicker, I also have a lot less resolutions to choose from, will continue trying other framebuffers and keep you guys updated!

you could try switchresx to fix resolution issues :(

How did you switch between framebuffers?

#526
amagawd

amagawd

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts

you could try switchresx to fix resolution issues :blink:

How did you switch between framebuffers?

I've tried a few more, I just change the name of the frame buffer in ATY_Init.kext in the 4600 section, Quail worked, I think Gliff gave me a kp been a few days since I tried it, but it still just reads Ati Radeon 4600, while Flicker read Ati Radeon HD 4330, Also I had way more resolution options when my card was being read right, either way tho I am happy it's working in Lion! Also that sound kext works for lion also working 100% once again!

#527
chessperso

chessperso

    InsanelyMac Protégé

  • Members
  • Pip
  • 30 posts
Everybody who's got a 4xxx, you want to take a look at the 28th of october update of the 20th post of this other topic !

#528
JamerTheProgrammer

JamerTheProgrammer

    InsanelyMac Protégé

  • Members
  • PipPip
  • 67 posts
  • Gender:Male
  • Location:In the zone
  • Interests:Programming, mucking about with Linux and making Hackintoshes!

WOORRKS!!!!!!!!!!!!!!!!!

Finally QE/CI was enabled on my 4570m!!!!!!!!!!! I can't believe it yet :D :D

- Translucent Toolbar
- Wavy effect on Dashboard
- DVD player loads
- Front Row works

But it's not perfect for the moment.

- As you can see my apple at the up-left corner it's green. The same happens with HD 4350 (desktop version of this chipset).
- Internal Display it's black, but HDMI port works, this might be improved editing the framebuffer.
- The resolutions of my HDMI display and my LVDS display are switched, but I can fix it with the SwitchRes Tool :P, maybe when the LVDS is correctly working it'll be fixed.

About how it worked:

- You must be in Snow Leopard 10.6.6
- You must add your deviceID to ATI4600Controller.kext, mine is 0x95531002, it can variate in each case.
- Edit ATIFramebuffer.kext with modified Vervet framebuffer, maybe others will work, but now is which I'm using now.
- Bootloader with ATI injector configured with Vervet Fb. You can use Kabyl's boot if it works with your graphic card or modify other bootloader.

I'll do a how-to after do more test to fix the issues.

One screenshoot of my desktop, you can see my system profile with my card injected, DVD player working and translucent bar :P
Posted Image
Sorry, the system is in Spanish but I think that you'll understand the important things hehe

Hey!
I have exactly the same card in my VAIO.
Would it be too much trouble to write a detailed how to with download links on how to do this?
Thanks! :D

#529
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
To anyone getting corrupted screen or weird/low colors on internal LCD, try change the "features" from 09 to 00 instead. If you don't know what "features" is, refer to bcc9's or mucha's guide.

#530
leon321

leon321

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
  • Gender:Male
I just read through all posts there.

I just tried 09 to 00 : lVDS gray, VGA OK.

more on what I try:
having HP ProBook 4710s with ATI Mobility Radeon 4330.
VGA out is OK but internal LVDS is color scrambled.
QE/CI is working on both screens
LVDS 1600x900 VGA 1440*900

This is obtained from 3 differents OS 10.6.6 10.6.8 10.7 installed on 3 partitions.

I use Chameleon Where I edited original
{ 0x9552, 0x308B103C, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4300 Series", kShrike },
into
{ 0x9552, 0x3074103C, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4300 Series", kPeregrine },
Now my video hip is known at boot and FB is loaded s Peregrine ( or any other if needed).

4330's ID added : 95521002 in : ATIframebuffer and ATI4600controller

I edited connectors as follow:
02000000 40000000 09010000 02010007 LVDS dual link
10000000 10000000 00010000 00100101 VGA
and put them at right place according to OS in relevant kexts

I edited DSDT inserting dual link fix in it.

i use GraphicsEnabler=Yes

But this bloody color scrambling is still there.

May I have your attention please:

I got This from Radeon dump tool :
PCI ID: 1002:9552
Connector at index 0
Type [@offset 45678]: VGA (1)
Encoder [@offset 45682]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 45740]: 0x90, OSX senseid: 0x1
Connector at index 1
Type [@offset 45688]: LVDS (7)
Encoder [@offset 45692]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 45763]: 0x96, OSX senseid: 0x7
Connector at index 2
Type [@offset 45698]: HDMI-A (11)
Encoder [@offset 45702]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 45786]: 0x91, OSX senseid: 0x2

So problem is may be that Video Bios asks LVDS on port1 and IORegistry shows it on port 0 ???

IORegistry shows EDID from LVDS on port 0 and EDID from external monitor on port 1, so they talk together.

I succeded to swap in file.rom VGA & LDVS position.
Now this new file, from radeon dump, gives LVDS on port 0 and VGA on port 1.

I tryed UseAtiROM=Yes, with the official naming scheme:
vendorID_deviceID_subsysID.rom
here 103C_9552_3074.rom.
IORegistry shows that my.rom is not loaded but Video PROM is.

I found http://www.insanelym...howtopic=272728
post #2
they use an exotic bootloader
Chameleon_2.1svn_r1618_FaceTime_Peregrine_NB_pkg
but this one loads video .rom if the name is
vendorID_deviceID.rom
103C_9552.rom

I found it reading dmesg contents complaining it was asking for filename.rom
I check from IOregistryExplorer that 103C_9552.rom is loaded.

My problem is that i don't know how to reach Chameleon_2.1svn_r1618_FaceTime_Peregrine_NB_pkg sources to edit them
with my IDs and FB name.

whoo, what a mess !

leon

#531
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
Do not use "UseAtiROM=Yes" because it can lead to false result. You don't need it anyway. Chameleon will be able to read VBIOS directly from memory just fine (BIOS load VBIOS to memory).

#532
leon321

leon321

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
  • Gender:Male
Do not use "UseAtiROM=Yes" because it can lead to false result
Where did you find that ?

I want to swap VGA & LDVS position
so I did a modified .ROM I want to load in place of Video PROM
I can check what is loaded using IORegistryExplorer :
Root/MacPro3/AppleCPIPlatform/PCI0/AppleACPIPCI/PEGP@1/IOPCI2PCIBridge/DGFX@0/ATY.bin_image
shows me content of active video rom.

Leon

#533
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
I found about it just a couple days ago. When I use UseAtiROM=Yes, internal LCD goes blank. When not, internal LCD works.

I used to get corrupted screen (or low/weird colors) on internal LCD too (since 10.6.8 - 10.7.2). But now it works again after changing the "features" from "09 01" to "00 01" (thanks to crowebster). This is when I discovered the "UseAtiROM=Yes" problem. The features "00 01" might not solved the corrupted screen problem on all notebooks but it worth a try.

I noticed you not able to get internal LCD working on 10.6.6 too, am I right? If yes, I don't think you can get it working at all. I mean, the best version to troubleshot & get internal LCD working is before 10.6.8, for example 10.6.3 to 10.6.7.

Your theory regarding LVDS is located after VGA causing the problem is not true. Please look mine:-
ATOM BIOS Rom: 
	SubsystemVendorID: 0x1028 SubsystemID: 0x02bd
	IOBaseAddress: 0x0000
	Filename: BR034783.006
	BIOS Bootup Message: 
BR034783-006 M92 DDR3 64bit 500e/800m                                       

Connector at index 0 type: VGA (1)
Connector's i2cid: 95
Connector at index 1 type: HDMI-A (11)
Connector's i2cid: 91
Connector at index 2 type: LVDS (7)
Connector's i2cid: 90

senseid = (i2cid & 0xf) + 1
VGA:  (95 And 0xf) + 1 = 6
HDMI: (91 And 0xf) + 1 = 2
LVDS: (90 And 0xf) + 1 = 1
You see, LVDS is last but LVDS still working. All ports working. Only at connector info, LVDS must be first, for example like this (look at HotplugID, the second byte from last):-
      0x  |  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
-------------------------------------------------------------------------------
00000000     02  00  00  00  40  00  00  00  00  01  00  00  12  01  00  01 	(LVDS)
00000010     10  00  00  00  10  00  00  00  00  01  00  00  10  10  01  06 	(VGA)
00000020     00  08  00  00  00  02  00  00  00  01  00  00  20  00  02  02 	(HDMI)

"UseAtiROM", if I'm not mistaken, only useful if the card is not posted. In your case, the card already posted. There are two reason your attempt won't work:-
  • You can't change the connector arrangement in VBIOS. It won't work because they're electrically connected that way (hardwired).
  • The correct way to use the modded VBIOS is you need to re-integrate it back to SBIOS (system BIOS) before any changes you made in VBIOS can be use.


#534
leon321

leon321

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
  • Gender:Male
You are right, my theory about LVDS & VGA: I am wrong, because your LVDS is last in Rom content list and it works for you.
But i am searching since so long that I mut try any unexplored potential track

I see a big difference between our 2 LVDS screens:
yours is 1366 x 768 you don't need dual link and you use only Uniphy2 link A 0x12
mine is 1600 x 900 and I must use Uniphy2 link A or preferably dual link. (Link B alone don't work)

So where to go from now:

I will keep in mind GE=no, UseAtiROM=No, 09 ->01.
I also put 10.6.3 in my "tests to do" list.

:wallbash:

Last question: Are you using any ATY_init.kext ?



Leon

#535
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
Did you obtain RadeonHD dump? It's essential to obtain RadeonHD dump because it contain correct transmitter & encoder. I know one person with 1920x1080 internal LCD able to get it to work. He also have the same notebook like mine, Dell Studio 1557.

I use GraphicsEnabler=Yes. I did not use ATY_init.kext. Please go to my thread (link in my signature - Lion) for more information.

#536
leon321

leon321

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
  • Gender:Male
Yes I used RadeonDump.
Here is the attached file zipped.

fom there I got: PCI ID: 1002:9552
Connector at index 0
Type [@offset 45678]: VGA (1)
Encoder [@offset 45682]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 45740]: 0x90, OSX senseid: 0x1
Connector at index 1
Type [@offset 45688]: LVDS (7)
Encoder [@offset 45692]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 45763]: 0x96, OSX senseid: 0x7
Connector at index 2
Type [@offset 45698]: HDMI-A (11)
Encoder [@offset 45702]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 45786]: 0x91, OSX senseid: 0x2

that gave me relevant info.

I was not able to use dong.kext to get transmitter an encoder.
But there are a few combinations & I wrote a script to automate tests.
So I found UNIPHY2 link A or Dual Link and encoder 01.
Other don't work.


I will read through your referenced post

Attached Files



#537
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

I also put 10.6.3 in my "tests to do" list.

No need to use 10.6.3. You already have 10.6.6.

Yes I used RadeonDump.
Here is the attached file zipped.

fom there I got: PCI ID: 1002:9552
Connector at index 0
Type [@offset 45678]: VGA (1)
Encoder [@offset 45682]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 45740]: 0x90, OSX senseid: 0x1
Connector at index 1
Type [@offset 45688]: LVDS (7)
Encoder [@offset 45692]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 45763]: 0x96, OSX senseid: 0x7
Connector at index 2
Type [@offset 45698]: HDMI-A (11)
Encoder [@offset 45702]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 45786]: 0x91, OSX senseid: 0x2

that gave me relevant info.

I was not able to use dong.kext to get transmitter an encoder.
But there are a few combinations & I wrote a script to automate tests.
So I found UNIPHY2 link A or Dual Link and encoder 01.
Other don't work.

RadeonDump provide inadequate information. It can give you TransmitterID but not LinkID. It also doesn't really tell you the right encoder. If you use Dong's RadeonHD kext, you will be able to obtain important information, for example:-
Mapping DIG1 encoder to KLDSKP_UNIPHYB
Mapping DIG2 encoder to KLDSKP_UNIPHYE

ATOM CRTC 1: tied to Atom PLL 1 and LUT A:
	Outputs: AtomOutputUniphyB (DVI-D 1)
ATOM CRTC 2: tied to Atom PLL 2 and LUT B:
	Outputs: AtomOutputUniphyE (PANEL)
	Unused Outputs: AtomOutputDACB

Based on the above information:-
CRTC0 > DIG1 > UNIPHYB > HDMI: Encoder=0x00 Transmitter=0x20
CRTC1 > DIG2 > UNIPHYE > LVDS: Encoder=0x01 Transmitter=0x12
CRTC1 > DAC > DACB    > VGA: Encoder=0x10 Transmitter=0x10
You see, it really narrow it down. When I use Dong's RadeonHD kext to obtain the above information, I got scrambled white & black screen. The trick is, I set screen sharing or SSH login first in System Preferences before installing Dong's RadeonHD. I just connect from other computer using either Putty or VNC. Of course, this trick only useful if you have working ethernet or wireless.

However, with your "trial & error" method by trying each encoder & make sure transmitter for LVDS & HDMI doesn't conflict with each other, you should be able to get it working in 10.6.6. Regarding dual-link, one person able to get his 1920x1080 internal LCD working without using dual-link transmitter (see here). It doesn't work when he tried dual-link transmitter though. So, it seems something else causing the problem.

If there is interference between LVDS & HDMI (conflicted transmitter), you should get blank screen on internal LCD. If got scrambled color, that something else. I don't know what to advice you though. You might want to try transmitter "00" for LVDS. 4650 user tried it & works for them. This is yours right?
02000000 40000000 09010000 02010007 LVDS dual link
10000000 10000000 00010000 00100101 VGA 
Change LVDS transmitter from "02" to "00":-
02000000 40000000 09010000 00010007 LVDS dual link
10000000 10000000 00010000 00100101 VGA 

I also think you should use framebuffer that have three connectors, e.g. Shrike. It's better for troubleshooting.

#538
leon321

leon321

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
  • Gender:Male
Dong' RadeonHD.kext only possible if you have working ethernet or wireless, and I don't.
Ethernet seems to be unsuccessful until now: network 88E8072 PCI-E Gigabit Ethernet Controller [11AB:436C]
Wireless : I must change the card then edit Bios to make the new hardware accepted at boot (thank's HP)

As I already tried all combinations transmitter encoder values, with only 2 outputs enabled,
0x00 for LVDS transmitter gave gray LDVS screen.

What I can try is to do again "trial & error" method with 09 changed to 00.

#539
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
If remote connection not possible, then create a script. Download dong's RadeonHD kext ([10/20/2009 update]). There are two file in the zip file; 1) RadeonHD.kext & 2) RadeonDump. This is what you need to do:-
  • Move both ATI4600Controller.kext & ATIRadeonX2000.kext from /S/L/E to home folder (e.g. /Users/kizwan/)
  • Put RadeonDump in home folder too.
  • Install RadeonHD.kext to /S/L/E.
  • Create a script file, let say radeonhd, in home folder. Edit radeonhd:-
    #!/bin/bash
    sudo ./RadeonDump > ati_radeon_dump.txt
    sudo mv /System/Library/Extensions/RadeonHD.kext .
    sudo cp -R ATI4600Controller.kext /System/Library/Extensions/
    sudo cp -R ATIRadeonX2000.kext /System/Library/Extensions/
    sudo chown -R root:wheel /System/Library/Extensions/ATI4600Controller.kext
    sudo chown -R root:wheel /System/Library/Extensions/ATIRadeonX2000.kext
    sleep 30
    sudo reboot
    
  • Set permission to radeonhd file:-
    * change kizwan to your account name
    chown kizwan:staff radeonhd
    chmod +x radeonhd
    
  • Edit sudoers file:-
    • open terminal
    • Run this command:-
      sudo visudo
      
    • It will open a file. Find "# User privilege specification" & edit the line with "%admin" to this:-
      %admin  ALL=(ALL) NOPASSWD: ALL
      
      To edit, you need to press keyboard button [i] one time & make the necessary changes. After you have finished, press [Esc] button.
    • Save & exit by pressing keyboard buttons: [shift][:] + [w] + [q], then press Enter.
  • Open System Preferences, go to "Users & Groups", click your account, click "Login Items" & add radeonhd in it.
  • Reboot

On the next boot, this script will automatically executed. After it finish, it will automatically reboot. "sleep 30" will make the script to wait for 30 seconds before it run reboot command. When it reboot, remember to enter safe mode (boot with -s) & removed radeonhd script to prevent endless rebooting.

#540
leon321

leon321

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
  • Gender:Male
thank's a lot kizwan

adding custom EDID to RadeonHD.kext allowed to start with GE=No

I finally get it ati_radeon_dump.txt

I can easily confirm :
VGA DAC1 I2C line 0 so @ 1
LVDS UNIPHY2 I2C line 6 so @ 7
HDMI UNIPHY I2C line 1 so @ 2
What I know from Video BIOS

But I don't know how to get Transmitter / encoder info from ati_radeon_dump.txt

May be you know how ?

Refering to mucha tables may be
VGA trans 00 encod 10
LVDS trans 02 encod 00 or 01
HDMI trans 00 encod 00 or 01

Do you agree ?

Leon

Attached Files







0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy