Jump to content

ATI Mobility Radeon HD 4650 can't find LVDS senseline

ATI 4650M LVDS

  • Please log in to reply
20 replies to this topic

#1
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
I have a Sony VGN-FW490 laptop with ATI Mobility Radeon HD 4650. When I decode video bios rom, I can't find senseline for LVDS. How can I get senseID for LVDS then? Any help will be appreciated.
Here is my video rom:
ATOM BIOS Rom:
SubsystemVendorID: 0x104d SubsystemID: 0x9035
IOBaseAddress: 0xd000
Filename: BR32701.001
BIOS Bootup Message:
Sony_M763_M96M2LP_gDDR3 M96 GDDR3 128bit 450e/600m						
PCI ID: 1002:9480
Connector at index 0
Type [@offset 45890]: LVDS (7)
Encoder [@offset 45894]: INTERNAL_UNIPHY2 (0x21)
Connector at index 1
Type [@offset 45900]: VGA (1)
Encoder [@offset 45904]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 45971]: 0x90, OSX senseid: 0x1
Connector at index 2
Type [@offset 45910]: HDMI-A (11)
Encoder [@offset 45914]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 45994]: 0x94, OSX senseid: 0x5

Any one can help me with this?

#2
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
no body?

#3
SergeySW

SergeySW

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts
I have Sony VGN laptop too. Sony don't connect LVDS to I2C bus, therefore in video bios rom no senseid for LVDS. You can used any free value senseid in ConnectorInfo LVDS record. But in this case video driver can't read EDID of LVDS panel. I solved this problem by adding EDID of LVDS to DSDT in _DSM method of video card device key "AAPL00,override-no-connect".

P.S. Sorry for my bad English.

#4
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

I have Sony VGN laptop too. Sony don't connect LVDS to I2C bus, therefore in video bios rom no senseid for LVDS. You can used any free value senseid in ConnectorInfo LVDS record. But in this case video driver can't read EDID of LVDS panel. I solved this problem by adding EDID of LVDS to DSDT in _DSM method of video card device key "AAPL00,override-no-connect".

P.S. Sorry for my bad English.

Could u show me how did u do? Where exactly should I insert EDID? Would u mind paste ur code?

#5
SergeySW

SergeySW

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

Could u show me how did u do? Where exactly should I insert EDID? Would u mind paste ur code?

My DSDT video card section
Perhaps will work without "AAPL00,EDID", "@0,EDID", "@0,override-no-edid" keys.
But video card started working only when I added "AAPL00,override-no-connect" key.
Spoiler


#6
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

My DSDT video card section
Perhaps will work without "AAPL00,EDID", "@0,EDID", "@0,override-no-edid" keys.
But video card started working only when I added "AAPL00,override-no-connect" key.

First of all, thank u for ur sharing. Unfortunately, I got a bunch of problem here.

1. In my dsdt.aml, which has been patched by Patcher02Beta5, Device(GFX0) is not included in Device(PEGP). So in my case, in which device I should add method _DSM?

2. In method _DSM, how many parameters I should change to my specific values, such as device-id, vender-id, "ATY, platformInfo"?

#7
SergeySW

SergeySW

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

First of all, thank u for ur sharing. Unfortunately, I got a bunch of problem here.

1. In my dsdt.aml, which has been patched by Patcher02Beta5, Device(GFX0) is not included in Device(PEGP). So in my case, in which device I should add method _DSM?

2. In method _DSM, how many parameters I should change to my specific values, such as device-id, vender-id, "ATY, platformInfo"?


1. Laptop as a rule have two video cards integrated and discrete. Discrete video card device must be included in Device(PEGP). In you case probably named Device(VGA).
2. You may used same values of parameters in your DSDT. You only need change "ATY,bin_image" paste your ATI Atom BIOS in hex code it easy to make by rom_dsdt_converter program and maybe change "ATY,memsize" if your video memory size not equal 1Gb. device-id, vender-id not critical IMHO but may used your native values 0x80, 0x94, 0x00, 0x00 and 0x02, 0x10, 0x00, 0x00, respectively.
Also you need add in /System/Library/Extensions/ATI4600Controller.kext/Contents/Info.plist file 0x94801002 value to "IOPCIMatch" key. And patch /System/Library/Extensions/ATI4600Controller.kext/Contents/MacOS/ATI4600Controller file by your custom personalities how do this describe here.
Also may need use dsdt dual link patch if your LVDS panel have Pixel Clock >165MHz. Pixel Clock can be found in EDID (56th and 55th bytes) in my case it is 0x39CC=14796 in MHz is 147,96MHz.
And finaly used key GraphicsEnabler=No in your Chimera bootloader and don't use ATY_Init.kext and like other kexts.

#8
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

1. Laptop as a rule have two video cards integrated and discrete. Discrete video card device must be included in Device(PEGP). In you case probably named Device(VGA).

I would like to tnank you thousands of times, SergeySW, it works!!! However, the display color is chaos. :( As below is my _DSM method, I changed all memsize to 512M or should I? BTW, my pixel clock seems to be less than 90MHz and I has updated to LIon 10.7.5, so ATI4600Controller is 10.7.5 version. Would the new version kext be the problem?
Method (_DSM, 4, NotSerialized)
{
Store(Package (0x48)
{
	 "@0,compatible",
	 Buffer (0x0B)
	 {
		 "ATY,Gliff"
	 },
	 "@0,device_type",
	 Buffer (0x08)
	 {
		 "display"
	 },
	 "@0,name",
	 Buffer (0x0B)
	 {
		 "ATY,Gliff"
	 },
	 "@0,VRAM,memsize",
	 Buffer (0x04)
	 {
		 0x00, 0x00, 0x00, 0x20
	 },
	 "@0,display-type",
	 Buffer (0x08)
	 {
		 "LCD1234"
	 },
	 "@0,AAPL,boot-display",
	 Buffer (0x04)
	 {
		 0x00, 0x00, 0x00, 0x00
	 },
	 "@1,AAPL,boot-display",
	 Buffer (0x04)
	 {
		 0x01, 0x00, 0x00, 0x00
	 },
	 "@0,backlight-control",
	 Buffer (0x04)
	 {
		 0x01, 0x00, 0x00, 0x00
	 },
	 "@0,built-in",
	 Buffer (One)
	 {
		 0x01
	 },
	 "@1,compatible",
	 Buffer (0x0B)
	 {
		 "ATY,Gliff"
	 },
	 "@1,device_type",
	 Buffer (0x08)
	 {
		 "display"
	 },
	 "@1,name",
	 Buffer (0x0B)
	 {
		 "ATY,Gliff"
	 },
	 "@1,VRAM,memsize",
	 Buffer (0x04)
	 {
		 0x00, 0x00, 0x00, 0x20
	 },
	 "@1,display-type",
	 Buffer (0x04)
	 {
		 "CRT"
	 },
	 "device_type",
	 Buffer (0x12)
	 {
		 "ATY,GliffParent"
	 },
	 "device-id",
	 Buffer (0x04)
	 {
		 0x80, 0x94, 0x00, 0x00
	 },
	 "vendor-id",
	 Buffer (0x04)
	 {
		 0x02, 0x10, 0x00, 0x00
	 },
	 "AAPL,aux-power-connected",
	 Buffer (0x04)
	 {
		 0x01, 0x00, 0x00, 0x00
	 },
	 "AAPL,backlight-control",
	 Buffer (0x04)
	 {
		 0x01, 0x00, 0x00, 0x00
	 },
	 "AAPL,HasPanel",
	 Buffer (0x04)
	 {
		 0x01, 0x00, 0x00, 0x00
	 },
	 "AAPL,Haslid",
	 Buffer (0x04)
	 {
		 0x01, 0x00, 0x00, 0x00
	 },
	 "AAPL,slot-name",
	 Buffer (0x07)
	 {
		 "Slot-1"
	 },
	 "ATY,PlatformInfo",
	 Buffer (0x80)
	 {
		 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	 },
	 "ATY,EFIOrientation",
	 Buffer (0x02)
	 {
		 0x02, 0x00
	 },
	 "ATY,RefCLK",
	 Buffer (0x04)
	 {
		 0x8c, 0x0a, 0x00, 0x00
	 },
	 "ATY,RefClock",
	 Buffer (0x04)
	 {
		 0x8c, 0x0a, 0x00, 0x00
	 },
	 "ATY,MCLK",
	 Buffer (0x04)
	 {
		 0x60, 0xea, 0x00, 0x00
	 },
	 "ATY,SCLK",
	 Buffer (0x04)
	 {
		 0xc8, 0xaf, 0x00, 0x00
	 },
	 "ATY,memsize",
	 Buffer (0x04)
	 {
		 0x00, 0x00, 0x00, 0x20
	 },
	 "AAPL00,EDID",
	 Buffer (0x80)
	 {
		 /* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
		 /* 0008 */ 0x4D, 0xD9, 0xFA, 0x06, 0x00, 0x00, 0x00, 0x00,
		 /* 0010 */ 0x00, 0x12, 0x01, 0x03, 0x80, 0x2A, 0x17, 0x78,
		 /* 0018 */ 0xF2, 0xCE, 0x50, 0xA3, 0x57, 0x4C, 0x99, 0x26,
		 /* 0020 */ 0x0F, 0x50, 0x54, 0x21, 0x08, 0x00, 0x31, 0x40,
		 /* 0028 */ 0x45, 0x40, 0x61, 0x40, 0x71, 0x40, 0x01, 0x01,
		 /* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xEC, 0x22,
		 /* 0038 */ 0x40, 0x20, 0x60, 0x84, 0x0D, 0x30, 0x08, 0x10,
		 /* 0040 */ 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0048 */ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
		 /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
		 /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
		 /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35
	 },
	 "AAPL00,override-no-connect",
	 Buffer (0x80)
	 {
		 /* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
		 /* 0008 */ 0x4D, 0xD9, 0xFA, 0x06, 0x00, 0x00, 0x00, 0x00,
		 /* 0010 */ 0x00, 0x12, 0x01, 0x03, 0x80, 0x2A, 0x17, 0x78,
		 /* 0018 */ 0xF2, 0xCE, 0x50, 0xA3, 0x57, 0x4C, 0x99, 0x26,
		 /* 0020 */ 0x0F, 0x50, 0x54, 0x21, 0x08, 0x00, 0x31, 0x40,
		 /* 0028 */ 0x45, 0x40, 0x61, 0x40, 0x71, 0x40, 0x01, 0x01,
		 /* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xEC, 0x22,
		 /* 0038 */ 0x40, 0x20, 0x60, 0x84, 0x0D, 0x30, 0x08, 0x10,
		 /* 0040 */ 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0048 */ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
		 /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
		 /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
		 /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35
	 },
	 "@0,EDID",
	 Buffer (0x80)
	 {
		 /* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
		 /* 0008 */ 0x4D, 0xD9, 0xFA, 0x06, 0x00, 0x00, 0x00, 0x00,
		 /* 0010 */ 0x00, 0x12, 0x01, 0x03, 0x80, 0x2A, 0x17, 0x78,
		 /* 0018 */ 0xF2, 0xCE, 0x50, 0xA3, 0x57, 0x4C, 0x99, 0x26,
		 /* 0020 */ 0x0F, 0x50, 0x54, 0x21, 0x08, 0x00, 0x31, 0x40,
		 /* 0028 */ 0x45, 0x40, 0x61, 0x40, 0x71, 0x40, 0x01, 0x01,
		 /* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xEC, 0x22,
		 /* 0038 */ 0x40, 0x20, 0x60, 0x84, 0x0D, 0x30, 0x08, 0x10,
		 /* 0040 */ 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0048 */ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
		 /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
		 /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
		 /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35
	 },
	 "@0,override-no-edid",
	 Buffer (0x80)
	 {
		 /* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
		 /* 0008 */ 0x4D, 0xD9, 0xFA, 0x06, 0x00, 0x00, 0x00, 0x00,
		 /* 0010 */ 0x00, 0x12, 0x01, 0x03, 0x80, 0x2A, 0x17, 0x78,
		 /* 0018 */ 0xF2, 0xCE, 0x50, 0xA3, 0x57, 0x4C, 0x99, 0x26,
		 /* 0020 */ 0x0F, 0x50, 0x54, 0x21, 0x08, 0x00, 0x31, 0x40,
		 /* 0028 */ 0x45, 0x40, 0x61, 0x40, 0x71, 0x40, 0x01, 0x01,
		 /* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xEC, 0x22,
		 /* 0038 */ 0x40, 0x20, 0x60, 0x84, 0x0D, 0x30, 0x08, 0x10,
		 /* 0040 */ 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0048 */ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
		 /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
		 /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
		 /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		 /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35
	 },
	 "VRAM,memsize",
	 Buffer (0x04)
	 {
		 0x00, 0x00, 0x00, 0x20
	 },
	 "model",
	 Buffer (0x23)
	 {
		 "ATI Mobility Radeon HD 4650"
	 },
	 "ATY,bin_image",
	 Buffer (0xFC00)
	 {
		 /* 0000 */ 0x55,0xAA,0x7E,0xE9,0x15,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* 0010 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0x01,0x00,0x00,0x00,0x00,0x49,0x42,
/* cut off code */
/* FBE0 */ 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
/* FBF0 */ 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
	 }
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}


#9
SergeySW

SergeySW

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

However, the display color is chaos. :( As below is my _DSM method, I changed all memsize to 512M or should I? BTW, my pixel clock seems to be less than 90MHz and I has updated to LIon 10.7.5, so ATI4600Controller is 10.7.5 version. Would the new version kext be the problem?

I have tested on Lion 10.7.4 as yet and all works well.
Memsize have right value for 512M.
Can you post screenshot?

#10
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

I have tested on Lion 10.7.4 as yet and all works well.
Memsize have right value for 512M.
Can you post screenshot?

when i took screen shot in lion and view the png in windows, the screen appeared to be normal, just like this:
Attached File  2012-09-25 11.02.22.png   1.18MB   23 downloads
so i took pic by camera to show the chaos:
Attached File  ABCD0001.JPG   195.93KB   29 downloads
BTW, I used personlity of Shrike

#11
SergeySW

SergeySW

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

BTW, I used personlity of Shrike

If you used personlity of Shrike and patched ATI4600Controller.kext only for Shrike framebuffer, then you must replace strings "ATY,Gliff" and "ATY,GliffParent" to "ATY,Shrike" and "ATY,ShrikeParent" in your DSDT video card section. Most likely this is reason of your "chaos of colors", because by default Gliff framebuffer have UNIPHY2_DualLink transmitter and DIG2( B ) encoder and in your case should be UNIPHY2_LinkA transmitter and DIG1(A) encoder.
And also to make native brightness slider work, you need to add PNLF device in your DSDT:
Device (PNLF)
{
Name (_HID, EisaId ("APP0002"))
Name (_CID, "backlight")
Name (_UID, 0x0A)
Name (_STA, 0x0B)
}
And under video card device, there are other devices (usually LCD, CRT, TV...). Look for the device that has those methods (_BCM, _BCQ and _BCL) and then put Name (_HID, EisaId ("LCD1234")).
Like this:
Device (LCD)
{
Name (_HID, EisaId ("LCD1234"))
Name (_ADR, 0x0110)
Method (_BCL, 0, NotSerialized)
{
/* cut off code */
}
Method (_BCM, 1, NotSerialized)
{
/* cut off code */
}
Method (_BQC, 0, NotSerialized)
{
/* cut off code */
}
}


#12
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

If you used personlity of Shrike and patched ATI4600Controller.kext only for Shrike framebuffer, then you must replace strings "ATY,Gliff" and "ATY,GliffParent" to "ATY,Shrike" and "ATY,ShrikeParent" in your DSDT video card section. Most likely this is reason of your "chaos of colors", because by default Gliff framebuffer have UNIPHY2_DualLink transmitter and DIG2( B ) encoder and in your case should be UNIPHY2_LinkA transmitter and DIG1(A) encoder.
And also to make native brightness slider work, you need to add PNLF device in your DSDT:

Added all code u provided & changed Gliff to Shrike in dsdt, can't even get Ati4600Contoller.kext loaded! :wallbash:
Then I tried personality of Gliff, still got chaos:(
Silly question, where should I insert Device(PNLF)? I put it just before Device(PWRB) according to some search results.

#13
SergeySW

SergeySW

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

Added all code u provided & changed Gliff to Shrike in dsdt, can't even get Ati4600Contoller.kext loaded! :wallbash:
Then I tried personality of Gliff, still got chaos:(
Silly question, where should I insert Device(PNLF)? I put it just before Device(PWRB) according to some search results.

Can you show ConnectorInfo for your personality?
How you find offset of binary file Ati4600Contoller?
For example, in my case perl script show offsets for x86 architecture by default and for x64 with "-x" key.
I added Device(PNLF) into Scope (_SB ).
Full code of this device:
Assumed path for LCD device is _SB->PCI0->PEGP->VGA->LCD and LCD device have _BCL, _BCM, _DOS methods.
Spoiler


#14
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

Can you show ConnectorInfo for your personality?
How you find offset of binary file Ati4600Contoller?
For example, in my case perl script show offsets for x86 architecture by default and for x64 with "-x" key.
I added Device(PNLF) into Scope (_SB ).
Full code of this device:
Assumed path for LCD device is _SB->PCI0->PEGP->VGA->LCD and LCD device have _BCL, _BCM, _DOS methods.

Thank you for your patience, bro.
My connectorinfo:
Spoiler

As below is my own personality used to patch Ati4600Controller:

LVDS: 02 00 00 00 40 00 00 00 09 01 00 00 12 04 00 00
HDMI: 00 08 00 00 00 02 00 00 00 71 00 00 10 00 01 05
VGA: 10 00 00 00 10 00 00 00 00 01 00 00 00 10 02 01
I use HexEdit to find & replace.

Regarding the Device(PNLF), I'm still confused. When we insert Device(PNLF), not only
Name (_HID, EisaId ("APP0002"))
Name (_CID, "backlight")
Name (_UID, 0x0A)
Name (_STA, 0x0B)
should be included, but also methods that device LCD have, in my case, which are _DSS, _BQC, _BCM, _BCL.
Is this what you mean?

#15
SergeySW

SergeySW

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts
datwsui, sorry for my bad English. Probably my explanations it is impossible to understand
Try this personality for LVDS:
02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 02
I think not correct used value 0 for SenseID (maybe I'm wrong) and your case encoder value must be equal 0 in spite of atom bios parser result.

Regarding the Device(PNLF).
I added Device(PNLF) into Scope (_SB ).
Code see above in my post.
LCD Device must be located into Scope(_SB )->Device(PCI0)->Device(PEGP)->Device(VGA)
And Device(LCD) must have _BCL, _BCM, _DOS methods.

#16
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
tried LVDS:
02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 02
not working, chaos it is

#17
SergeySW

SergeySW

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

tried LVDS:
02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 02
not working, chaos it is

When you use HexEdit to find & replace, you must change ConnectorInfo record in two places for each framebuffers, first place for x86 architecture cpu and second for x64 architecture cpu.

#18
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
Any changes in org.chameleon.Boot.plist? In addition, what version do you use for chameleon?
Fremebuffers? I only patched 2 places in /S/L/E/ATI4600Controller.kext/Contents/MacOS/ATI4600Controller. Did I miss other files?

#19
SergeySW

SergeySW

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

Any changes in org.chameleon.Boot.plist? In addition, what version do you use for chameleon?
Fremebuffers? I only patched 2 places in /S/L/E/ATI4600Controller.kext/Contents/MacOS/ATI4600Controller. Did I miss other files?

Correct, only 2 places in /S/L/E/ATI4600Controller.kext/Contents/MacOS/ATI4600Controller file not other files need.
I used bootloader chimera 1.10.0.
About your chaos of colors maybe this method will help you.

P.S. Forgot to tell after patched kext file you must restore permissions of files on your mac partition of hdd by disk utility program.

#20
datwsui

datwsui

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
thanks, bro, i'll try to figure it out. After kext patched, i always use kext wizard to install & restore.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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