Jump to content

[SOLVED] JMicron SATA/IDE PCIe Card eSATA problem


ApexDE
 Share

43 posts in this topic

Recommended Posts

@ THe KiNG, all the credits is yours if I succeeded in installing Mac OS X in my lappy. Be sure, I'm patiently waiting the new guide. With my regards. :rolleyes:

Hello THe KiNG you could compile my DSDT I have the same PCI-Express controller has 2 SATA ports and one IDE port JMB363, my motherboard its asus p5k has built-in that controls the IDE port and two eSATA .

its lsci

03:00.0 SATA controller [0106]: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller [197b:2363] (rev 03)

03:00.1 IDE interface [0101]: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller [197b:2363] (rev 03)

04:00.0 RAID bus controller [0104]: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller [197b:2363] (rev 03)

my dsdt.aml

thx in advance.

Link to comment
Share on other sites

Stop with offtopic stuff.

@mamadou i don't need any credits, no need to spam this topic, so I will delete offtopic stuff, do the same kthx.

@Tristano set up your controller in BIOS first, then learn how to compile your DSDT.

 

Thanks ApexDE for sharing the info, I'm out of here before someone else will not ask for God knows what else...

Link to comment
Share on other sites

great! the DSDT fix helped me to solve this: http://www.insanelymac.com/forum/index.php...t&p=1309387

 

though after system sleep/wake i have this kernel log message:

kernel[0]: pci restore waited for pci197b,2360 (8366) fail

 

however esata device keeps working well.

so does this message have any effect?

 

 

UPDATE:

i was too oblivious and didn't notice the solution is right above. disabling PATA port was the trick ;)

Link to comment
Share on other sites

well, did some research.

in my case i have my esata working only after sleep/wake, so i compared registers before and after sleep.

 

before:

40: 11 11 02 20 00 00 7f 75 30 00 00 3f 00 00 00 00

 

after:

40: 11 f1 02 20 00 00 ff f0 30 00 00 3f 00 00 00 00

 

then i applied the following fix:

			 			OperationRegion (BAR0, PCI_Config, 0x40, 0x04)
					 Field (BAR0, WordAcc, NoLock, Preserve)
					 {
							 Offset (0x01),
						 M1, 8
					 }

					 Method (_INI, 0, NotSerialized)
					 {
						 Store (0xF1, M1)
					 }

 

and now esata works right after system start and there is no pata port i have to disable.

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 months later...

Here's my experience with the onboard JMicron SATA on the 939DUAL-SATA2 motherboard.

 

Kernel panic on boot, culprit is AppleAHCIPort - panic goes away once I reset the bios.

 

Next, SATA controller shows up as IDE controller in lspci - use lcpci to set registers 0x40, 0x41, 0x42 as suggested and it shows up as SATA. Have to reconnect drive to see it.

 

Next, try DSDT patch. Panic again on reboot. Look at linux drivers/pci/quirks.c and realize 0x40-0x44 is some kind of configuration register. Finally get a working DSDT patch very similar to sergest's post above:

 

OperationRegion (BAR0, PCI_Config, 0x40, 0x04)
Field (BAR0, WordAcc, NoLock, Preserve)
{
Offset (0x01),
M1, 8
}

Method (_INI, 0, NotSerialized)
{
Store (0xA1, M1)
}

 

Now I have SATA drives appearing on bootup, without crashing. Disk tests in Xbench seem much lower than they should be, 66MB/s read 25MB/s write on a 500gb Seagate Barracuda SATA.

Link to comment
Share on other sites

  • 1 month later...

Hi folks, first sorry for my English. Ok, this is my problem:

I have a p5q deluxe and all works. The only problem is the eSata port on this mobo. In bios is set to AHCI, the disk connected to the eSata port (all disks that i have try) are seen in bios, they are seen by chameleon but not are seen by Snow.

 

schermata20100316a01342.png

 

I use a modded version of Appleviaata (in attached), i have try ALL Appleviaata and only the ide connector internal work, only, the eSata managed from the same controller Marvell 88SE6121 SATA II Controller [11ab:6121] don't work

 

schermata20100316a01484.png

 

In attached there are my two dsdt (original and modded), i have do some try but nothing. I don't understand if is possible make same changes that i read in this threads on this Marvell controller or simply if there is a possibility to resolve my problem.

 

Someone can help me, please?

 

dsdt_original.dsl.zip

dsdt_modded.dsl.zip

AppleVIAATA.kext.zip

Link to comment
Share on other sites

  • 5 months later...
Now to complete this hack, how to disable the PATA port :P

 

Add a new device like in this example:

                Device (EPTA)
               {
                   Name (_ADR, One)
                   OperationRegion (BAR0, PCI_Config, 0x40, 0x04)
                   Field (BAR0, WordAcc, NoLock, Preserve)
                   {
                           Offset (0x00),
                       M1, 8,
                           Offset (0x01),
                       M2, 8,
                           Offset (0x02),
                       M3, 8
                   }

                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Zero, M1)
                       Store (Zero, M2)
                       Store (Zero, M3)
                       Return (Zero)
                   }
               }

Compile, reboot and then look on lspci/ioreg the PATA is gone! :rolleyes:

 

@pharillion

Try to add this 2 device instead of yours:

                Device (EATA)
               {
                   Name (_ADR, Zero)
                   OperationRegion (BAR0, PCI_Config, 0x40, 0x04)
                   Field (BAR0, WordAcc, NoLock, Preserve)
                   {
                           Offset (0x00),
                       M1, 8,
                           Offset (0x01),
                       M2, 8,
                           Offset (0x02),
                       M3, 8
                   }

                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (0xb3, M1)
                       Store (0xa1, M2)
                       Store (0xc2, M3)
                       Store (Package (0x02)
                           {
                               "name", 
                               Buffer (0x16)
                               {
                                   "J-Micron JMB36x eSATA"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }

               Device (EPTA)
               {
                   Name (_ADR, One)
                   OperationRegion (BAR0, PCI_Config, 0x40, 0x04)
                   Field (BAR0, WordAcc, NoLock, Preserve)
                   {
                           Offset (0x00),
                       M1, 8,
                           Offset (0x01),
                       M2, 8,
                           Offset (0x02),
                       M3, 8
                   }

                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Zero, M1)
                       Store (Zero, M2)
                       Store (Zero, M3)
                       Return (Zero)
                   }
               }

If you don't want the PATA to be disabled just remove the second device(with what is in brackets)

 

Thanks ApexDE for opening my eyes on this, now the hack is complete :angel:

 

Thx ApexDE and theKing it works like a charm

 

I had the same problem as Pharillion cause my dsdt has 2 JMB IDE device so I removed them and added the 2 devices as proposed and that's it :)

cheers

Link to comment
Share on other sites

  • 3 months later...
  • 2 months later...
  • 3 weeks later...

Hello all, hope this topic is still active :(

 

I have a Jmicron eSATA Card showing up with lspci like this:

03:00.0 RAID bus controller: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller (rev 03)

If I do

 

sudo setpci -s 03:0.0 40.b=b3 41.b=a1 42.b=c2

 

 

everything is fine, Volume is mounting and accessable

 

But the DSDT-Patching I just don´t get it done

Maybe someone can get a look at my DSDT-File and help me make the necessary changes

 

Thx 4 help!

DSDT.aml.zip

Link to comment
Share on other sites

  • 5 years later...
  • 2 months later...
 Share

×
×
  • Create New...