smbmsg(8): slave address confusion?

Andriy Gapon avg at icyb.net.ua
Fri Nov 21 09:15:05 PST 2008


on 21/11/2008 18:48 Gavin Atkinson said the following:
> On Fri, 2008-11-21 at 17:16 +0100, Joerg Wunsch wrote:
>> As Andriy Gapon wrote:
>>
>>> Now:
>>>
>>> (0x44 << 1) & 0xff == (0xc4 << 1) & 0xff = 0x88 (looks like RTC)
>>> (0x50 << 1) & 0xff == (0xd0 << 1) & 0xff = 0xa0 (well known SPD addr)
>>> (0x52 << 1) & 0xff == (0xd2 << 1) & 0xff = 0xa4 (well known SPD addr)
>>> (0x80 << 1) & 0xff = 0x0 (mentioned above "global address")
>>> (0x88 << 1) & 0xff == MIN_I2C_ADDR = 0x10 (something weird)
>>>
>>> I think that this demonstrates that FreeBSD smb driver expects slave
>>> addresses in range 0x0-0x7f.
>> Well, the machine I've been writing smbmsg(8) on has been a Sun E450 I
>> don't have access to any longer, so I cannot post a live example
>> output.  However, I could swear the output did make sense on that
>> machine, i. e. the typical 0xa0 etc. addresses were populated there.
>> Basically, the 0xa0 example you can find in the EXAMPLES section of
>> the man page has been tailored after an actual session transcript made
>> on said Sun E450.  (I'm not completely sure about the 0x70 example
>> anymore, this could be a hypothetical one.)
>>
>> So could that be a backend driver issue, so various backend drivers
>> use different addressing formats? *shudder*
> 
> I believe this is the case, yes.  See for example, PR kern/100513.  It
> appears that some frivers treat the adfdress one way, and others treat
> it the other.

Darn it! Thank you!
I also started to have doubts and almost came to conclusion that this is
6.X vs 7.X issue, because on my 6.X machine everything worked
reasonably. But I now see that my 6.X machine has nfsmb and 7.X machines
have ichsmb.

PR link for convenience:
http://www.freebsd.org/cgi/query-pr.cgi?pr=100513

We have to settle to one addressing scheme or the other.


-- 
Andriy Gapon


More information about the freebsd-stable mailing list