A question when test W83792D driver on another motherboard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

WRITE_PORT_UCHAR((PUCHAR)0x04b9, 0x08);

This is like "nuclear secret". Please have you any idea what device
is on port 0x4b9 ? You can take a look either to:

cat /proc/ioports or to windows device manager/list devices by IO ports

Thanks

Rudolf


On Thu, 24 Feb 2005 Huang0 at Winbond.com.tw wrote:

> Hi Rudolf, Jean
>
> Our 792 driver for Windows can work now after the debug, I'd like to
> send to how they solve this problem, maybe this can help to solve the
> problem we meet under Linux.
>
> Windows driver only add one line code in it's i2c driver, which makes
> 792 work correctly, the code has been added is:
> WRITE_PORT_UCHAR((PUCHAR)0x04b9, 0x08);
>
> I'd like to send part of the Windows codes for your reference, please
> check it. If you know how to fix the bug of i2c Linux driver, please tell
> me, I'd like to debug it.
>
> Btw, I have not received the reply from ASUS, when I get it, I will
> forward it to you.
>
> Thanks
> Best Regards
>
> ********************************************
> NTSTATUS
> GpdIoctlGetSMBusAddress(
> 	IN PLOCAL_DEVICE_INFO pLDI,
> 	IN PIRP pIrp,
> 	IN PIO_STACK_LOCATION IrpStack,
> 	IN ULONG IoctlCode  )
>
> {
> 				// NOTE:  Use METHOD_BUFFERED ioctls.
> 	PULONG pIOBuffer;           // Pointer to transfer buffer
> 				//      (treated as an array of longs).
> 	ULONG InBufferSize;         // Amount of data avail. from caller.
> 	ULONG OutBufferSize;        // Max data that caller can accept.
> 	ULONG nPort;                // Port number to read
> 	ULONG DataBufferSize;
> 	ULONG  BaseAddr;
> 	ULONG  Result ;
> 	unsigned char flag,data;
>
> 	// Size of buffer for data to be sent to application
> 	OutBufferSize = IrpStack->Parameters.DeviceIoControl.OutputBufferLength;
>
> 	// NT copies inbuf here before entry and copies this to outbuf after
> 	// return, for METHOD_BUFFERED IOCTL's.
> 	pIOBuffer = (PULONG)pIrp->AssociatedIrp.SystemBuffer;
>
> 	// Check to ensure input buffer is big enough to hold a port number and
> 	// the output buffer is at least as big as the port data width.
>
> 		//intel p2x4
> 		Result = GetSMBusBaseAddr( &BaseAddr, 0x8086 , 0x7113  ,0x90);
>
> 		if (Result != 0 )
> 		{
> 			flag=EnableICHSMBusController(0X8086,0x24c0,0xf2,&data);
> 			// intel ich5 update 02.20.2003
> 			Result = GetSMBusBaseAddr( &BaseAddr, 0x8086 , 0x24d3  ,0x20);
> 			if(flag)
> 				RestoreICHSMBusController(0X8086,0x24c0,0xf2,data);
> 			if(Result==0)
> 				ChipSetType=1;
> 		}
>
> 		if (Result != 0 )
> 		{
> 			WRITE_PORT_UCHAR((PUCHAR)0x04b9, 0x08);  /* here!!! */
> 			flag=EnableICHSMBusController(0X8086,0x24c0,0xf2,&data);
> 			// intel ich5(Server) update 12.22.2003
> 			Result = GetSMBusBaseAddr( &BaseAddr, 0x8086 , 0x25a4  ,0x20);
> 			if(flag)
> 				RestoreICHSMBusController(0X8086,0x24c0,0xf2,data);
> 			if(Result==0)
> 				ChipSetType=1;
> 		}
> .................
> }
>
>
> Chunhao
> 2005-02-24
>
>
> > -----Original Message-----
> > From: PI14 HUANG0
> > Sent: 2005??2??24?? 14:25
> > To: 'Rudolf Marek'; 'Jean Delvare'
> > Cc: sensors at Stimpy.netroedge.com; PI10 LHHsu; PI14 DZSHEN; PI13 CFLi
> > Subject: RE: A question when test W83792D driver on another motherboard
> >
> > Hi Rudolf, Jean
> >
> > Thank you for your reply.
> >
> > I will try the commands you gave me after a while, because the PC with
> > that motherboard is under Windows now. after my test, then I will send you
> > the output message in another mail.
> >
> > Our 792 Windows driver can NOT work on this motherboard either, one of
> > my colleague is debugging it under Windows, and we also will contact ASUS
> > with the questions you provided, then forward you the answer.
> >
> > Thanks
> > Best Regards
> > Chunhao
> > 2005-02-24
> >
> >
> >
> > > -----Original Message-----
> > > From: Rudolf Marek [mailto:R.Marek at sh.cvut.cz]
> > > Sent: 2005??2??23?? 19:21
> > > To: PI14 HUANG0
> > > Cc: sensors at Stimpy.netroedge.com; PI10 LHHsu; PI14 DZSHEN; PI13 CFLi
> > > Subject: RE: A question when test W83792D driver on another motherboard
> > >
> > > Hello,
> > >
> > > Here is Rudolf speaking.
> > > I'm the second person who played with hidden 792D.
> > >
> > > I think the function fails because nothing listens on that address.
> > > (Khali/Jean can you confirm?)
> > >
> > > you can try:
> > >
> > > modprobe i2c-dev
> > > i2cdetect -l
> > >
> > > You will see the bus number you will use in next command.
> > >
> > > i2cdetect 0
> > >
> > > 0 Is my bus number.
> > >
> > > This command will probe i2c addresses to find all clients.
> > > If you will see XX on that address where should be 792D. Then it is
> > > hidden.
> > >
> > > Asus put some simple multiplexer to hide it. We think they use GPIO lines
> > > from superIO. Ask what lines to trigger to unhide it.
> > > (Logical device and what GPIO line from that group)
> > >
> > > I hope this helps.
> > >
> > > Regards
> > >
> > > Rudolf
> > >
>
>
> ===========================================================================================The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original author of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such person, please kindly reply the sender indicating accordingly and delete all copies of it from your computer and network server immediately. We thank you for your cooperation. It is advisable that any unauthorized use of confidential information of Winbond is strictly prohibited; and any information in this email that does not relate to the official business of Winbond shall be deemed as neither given nor endorsed by Winbond.===========================================================================================If your computer is unable to decode Chinese font, please ignore the following message. They essentially rep!
 eat the  English statement above.???H???????t?????q?l???]???????K?????T, ?????v???o?H?H???w?????H?H???\????. ?????z???D?Q???w?????H?H???]???????]?b???g???v?????????U???????H??, ???z?i?????o?H?H?????Y?N?H???q?q???P???????A???????H????. ?????z???X?@, ?????????P??. ?S??????, ???????g???v?????????????q?l?????K???T???????O?Q?Y???T????. ?H???P?????q?l???~?L???????e,???o?????????q?l?????????N??.
>



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux