Re: Accented characters not working with CIFS (but ok with smbclient)

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

 



First strange thing is why isn't the server negotiating Unicode - that
is unusual these days

Negotiating unicode (UCS-2) the way like most every other server would
avoid this issue

Looking at the trace we are not setting the Unicode flag on SMB FindFirst

presumably because it was not offered at SMB tree connect time.  We
always set it in the normal case when the server supports Unicode (see
below)

265         if (treeCon->ses) {
266             if (treeCon->ses->capabilities & CAP_UNICODE)
267                 buffer->Flags2 |= SMBFLG2_UNICODE;



So without Unicode we have to set the code page manually.  The server
is way too old (10 years?) for us to mount smb2 (which would force
unicode on the wire) or to use Unix Extensions (which probably
requires at least 3.0 Samba to be useful).

Haven't tried iocharset and codepage mount options recently
(presumably the way to experiment with this is to turn off Unicode in
Samba smb.conf via unicode=false)

On Mon, Sep 29, 2014 at 5:50 PM, adcromitus <adcromitus@xxxxxxxxx> wrote:
>
> On 28/09/2014 09:32, steve wrote:
>>
>> On 28/09/14 01:23, adcromitus wrote:
>>>
>>> Hello again,
>>>
>>> Sorry for the long time to reply.
>>>
>>> I've been going around on how to do this. I set up Wireshark and saw
>>> what the server was transmitting. However I'm not really sure about what
>>> I should send here.
>>>
>>> Anyway I did a "ls" on a dir with a file named "Coleção", and wireshar
>>> captured "cole \247 \243o". I send a few frames from tcpdump where that
>>> happens.
>>>
>>> How can I see if my distro defaults to UTF-8 on the client?
>>>
>>> I'm using:
>>> Linux kernel 3.2.0-4-amd64
>>> (Debian Wheezy)
>>> mount.cifs version: 5.5
>>>
>>>
>>> Thanks in advance.
>>>
>>>
>>>
>>>
>>> On 22/09/2014 04:28, Steve French wrote:
>>>>
>>>> This seems strange because modern Linux distributions should map UCS-2
>>>> (16 bit Unicode characters which cifs servers like Windows and Samba
>>>> send over the wire) fine to UTF-8 which is the typical default one for
>>>> local.
>>>>
>>>> Does you distro not default to UTF-8 on the client?
>>>>
>>>> Would be helpful to see a wire trace (ethereal or tcpdump) and make
>>>> sure the server is sending UCS-2 (Unicode) on the wire.  See
>>>> https://wiki.samba.org/index.php/LinuxCIFS_troubleshooting
>>>>
>>>> On Sat, Sep 20, 2014 at 5:44 PM, adcromitus <adcromitus@xxxxxxxxx>
>>>> wrote:
>>>>>
>>>>> Hy,
>>>>>
>>>>> I'm not sure of what can be relevant so I'll tell the whole story.
>>>>>
>>>>> I have a router (that I got from my ISP) which allows the connection
>>>>> of a
>>>>> pen/HDD by USB. That pen is shared on the network as a Windows Share
>>>>> folder.
>>>>>
>>>>> In Windows 7 I can see all the files name correctly, but when I mount
>>>>> the
>>>>> drive in Linux, with the command:
>>>>>
>>>>> mount -t cifs //<local share ip-address>/<shared-folder> --verbose -o
>>>>> user=user,pass="",uid=1000,gid=1000
>>>>>
>>>>> (there is no password)
>>>>>
>>>>> All file names with special characters (like Çãõé...) have a question
>>>>> mark
>>>>> in place of the accented character and I can't open the file or
>>>>> folder, as
>>>>> any command responds the file doesn't exist. This happens in dolphin,
>>>>> thunar
>>>>> and in the command line with simple commands like cat.
>>>>>
>>>>> I tried adding the following option without success
>>>>>
>>>>> iocharset=utf-8
>>>>> iocharset=utf-8,codepage=cp437
>>>>> iocharset=utf-8,codepage=cp850
>>>>> iocharset=iso8859-1
>>>>>
>>>>> This also happens if I access the share from my android device, so I
>>>>> was
>>>>> convinced it was a problem related to old firmware (from the router).
>>>>>
>>>>> However, recently I connected to the drive using smbclient and the file
>>>>> names appeared correctly. I would like to mount this share folder at
>>>>> fstab,
>>>>> and so smbclient is not a good solution.
>>>>>
>>>>> I'm using:
>>>>> Linux kernel 3.2.0-4-amd64
>>>>> (Debian Wheezy)
>>>>> mount.cifs version: 5.5
>>>>>
>>>>> And I get this information from smbclient -L <local share ip address>:
>>>>> (smbclient version 4.1.11-Debian)
>>>>> Server=[Samba 2.2.12]
>>>>>
>>>>> So. Is there something else I can try?
>>>>>
>>>>> Thanks in advance.
>>
>> Hi
>> Probably an old cifs-utils? We have 6.2 with Spanish:
>> steve2@altet:~> ls
>> aviñón
>> barça
>>
>> HTH,
>> Steve
>
>
> Hy Steve,
>
> So I used chroot to install the cifs-utils version from Debian next release
> (cifs-utils v.6.4), and the result was the same as with my current version.
>
> Does the tcpdump helped in any way?
>
> Thanks again.
>
>
>>
>>
>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe linux-cifs"
>>>>> in
>>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>
>>>>
>>>>
>>>
>>
>>
>



-- 
Thanks,

Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux