[Re: Switching from ipw3945 to iwl3945 driver] - solved?
On Mon, Feb 11, 2008 at 09:13:34PM +0100, Kamil Jońca wrote: [...] It looks like that iwl3945 cannot assocciate when ssid broadcast is off (on Access point) and (as a consequence) ap_scan in wpa_supplicant.conf on client station is setting to 2 (meaning try all network blocks in order). After turning on ssid broadcast and setting ap_scan = 1 ewrything works. KJ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
Unfortunately I can't get it working on my new shiny Thipad R61i laptop. I think I do ewerything according to http://wiki.debian.org/iwlwifi (except that I haven't ip command so use ifconfig). after inserting module I got: iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, 1.1.17ks iwl3945: Copyright(c) 2003-2007 Intel Corporation ACPI: PCI Interrupt :03:00.0[A] - GSI 17 (level, low) - IRQ 22 PCI: Setting latency timer of device :03:00.0 to 64 iwl3945: Detected Intel PRO/Wireless 3945ABG Network Connection iwl3945: Tunable channels: 13 802.11bg, 23 802.11a channels phy0: Selected rate control algorithm 'iwl-3945-rs /etc/network/interfaces (part) iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant.conf wpa-driver wext wpa-verbosity 1 === after ifup wlan0 i got: wpa_supplicant: wpa-driver wext wpa_supplicant: /sbin/wpa_supplicant -B -P /var/run/wpa_supplicant.wlan0.pid -i wlan0 -D wext -q -f /var/log/wpa_supplicant.wlan0.log -c /etc/wpa_supplicant.conf Starting /sbin/wpa_supplicant... ioctl[SIOCSIWAUTH]: Operation not supported WEXT auth param 4 value 0x0 - ioctl[SIOCSIWAUTH]: Operation not supported WEXT auth param 5 value 0x1 - wpa_supplicant: creating sendsigs omission pidfile: /lib/init/rw/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pid wpa_supplicant: ctrl_interface socket located at /var/run/wpa_supplicant/wlan0 Internet Systems Consortium DHCP Client V3.1.0 Copyright 2004-2007 Internet Systems Consortium. All rights reserved. For info, please visit http://www.isc.org/sw/dhcp/ wmaster0: unknown hardware address type 801 wmaster0: unknown hardware address type 801 Listening on LPF/wlan0/00:1c:bf:82:44:b9 Sending on LPF/wlan0/00:1c:bf:82:44:b9 Sending on Socket/fallback DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 9 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 13 KJ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
On 09 Feb 2008, Peter Jordan wrote: 1) eth3 and wlan0 differ 2) add auto eth3 or whatever to /etc/network/interfaces 3) you don't use wpasupplicant? pj 1. I did have auto eth3 in the file but probably I screwed something up in my repeated attempts to get iwl3945 working. Anyway, for whatever reason it's now come back - I mean I get a wireless connection automatically on boot with 2.6.23. I'm giving up on iwl3945 for the time being -- I don't think it likes my hardware at present. 2. I don't use wpasupplicant. For security I have access in the router restricted to a list and I don't allow the broadcast of the essid. Anthony -- Anthony Campbell - [EMAIL PROTECTED] Microsoft-free zone - Using Linux Gnu-Debian http://www.acampbell.org.uk (blog, book reviews, on-line books and sceptical articles) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
Anthony Campbell, 02/08/08 14:32: On 07 Feb 2008, Peter Jordan wrote: wouldn't it be better if you posted your /etc/network/interfaces ? Here it is: == # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth2 iface eth2 inet dhcp iface wlan0 inet dhcp wireless-essid ap wireless-mode managed = Meanwhile, I've at least managed to get wireless working again with iwp3945 on kernel 2.6.23. But for some strange reason, since yesterday it no longer comes up automatically on boot; I have to do the following as root: modprobe -r ipw3945 modprobe ipw3945 ifdown eth3 ifup eth3 Anthony 1) eth3 and wlan0 differ 2) add auto eth3 or whatever to /etc/network/interfaces 3) you don't use wpasupplicant? pj -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
On 07 Feb 2008, Peter Jordan wrote: wouldn't it be better if you posted your /etc/network/interfaces ? Here it is: == # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth2 iface eth2 inet dhcp iface wlan0 inet dhcp wireless-essid ap wireless-mode managed = Meanwhile, I've at least managed to get wireless working again with iwp3945 on kernel 2.6.23. But for some strange reason, since yesterday it no longer comes up automatically on boot; I have to do the following as root: modprobe -r ipw3945 modprobe ipw3945 ifdown eth3 ifup eth3 Anthony -- Anthony Campbell - [EMAIL PROTECTED] Microsoft-free zone - Using Linux Gnu-Debian http://www.acampbell.org.uk (blog, book reviews, on-line books and sceptical articles) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
Anthony Campbell, 02/07/08 17:11: I think that means that the card is not on. Look in /sys/class/mumblemumblemumble/iwl3945/device/rf_kill. It should be 0 for the card to be on, 1 for the card to be off, by way of the radio control button/switch on your machine. A I couldn;t find that entry but I'll have another look. Meanwhile I can no longer access the wireless even from the older kernels, so I don't know what is happening! Perhaps I'll give up and use a wired connection, which at least works. Could you kindly post your /etc/networking/interfaces please, so that I can see if there is a clue there? Anthony wouldn't it be better if you posted your /etc/network/interfaces ? -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
I think that means that the card is not on. Look in /sys/class/mumblemumblemumble/iwl3945/device/rf_kill. It should be 0 for the card to be on, 1 for the card to be off, by way of the radio control button/switch on your machine. A I couldn;t find that entry but I'll have another look. Meanwhile I can no longer access the wireless even from the older kernels, so I don't know what is happening! Perhaps I'll give up and use a wired connection, which at least works. Could you kindly post your /etc/networking/interfaces please, so that I can see if there is a clue there? Anthony -- Anthony Campbell - [EMAIL PROTECTED] Microsoft-free zone - Using Linux Gnu-Debian http://www.acampbell.org.uk (blog, book reviews, on-line books and sceptical articles) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
On Mon, Feb 04, 2008 at 03:37:00PM +, Anthony Campbell wrote: On 04 Feb 2008, Peter Jordan wrote: Anthony Campbell, 02/04/08 10:34: On 03 Feb 2008, Florian Kulzer wrote: On Sun, Feb 03, 2008 at 09:03:03 +, Anthony Campbell wrote: [...] [...] The ipw3945 driver requires closed-source components and has been deprecated by Intel, the only party that has access to the full source code and hardware specifications. The kernel developers, on the other hand, generally don't care very much about breaking proprietary drivers with newer versions of the kernel, especially if there is an alternative available in the normal kernel tree. -- Unfortunately there does not seem to be an alternative for me. I had another go at it last night. I set up things according to the advice on the above site. Everything looked correct according to ip a and /etc/udev/rules.d/z25_persistent-net.rules, but nothing happened: the indicator light never flickered to show the netwerk card was trying to connect. This is what has always happened previously when I've tried to use iwl3945. And I get this message: wlan0: unknown hardware address type 801. I googled for this and found some people on Ubuntu getting the same thing but no obvious clue to what is wrong. Anthony The led function will be implemented later. Make sure, dhcp3-client is installed. That solved all my problems with iwl3945. PJ I already have dhcp3-client. I tried again, and no longer get the unknown hardware address type 801 error, which is progress of a sort, I get those errors on my laptop, but they seem unrelated to actual function of the card. It seems to work despite them I suppose. According to iwconfig and syslog the card has been detected and appears to be working but it is not connecting. And I have wlan0: no wireless extensions. I think that means that the card is not on. Look in /sys/class/mumblemumblemumble/iwl3945/device/rf_kill. It should be 0 for the card to be on, 1 for the card to be off, by way of the radio control button/switch on your machine. A signature.asc Description: Digital signature
Re: Switching from ipw3945 to iwl3945 driver]
On 03 Feb 2008, Florian Kulzer wrote: On Sun, Feb 03, 2008 at 09:03:03 +, Anthony Campbell wrote: On 02 Feb 2008, Jurij Smakov wrote: [...] The 2.6.24 kernel has recently hit unstable, and it contains a new shiny iwl3945 driver which should replace the old ipw3945 one. The good news is that you will no longer need to run the ipw3945d binary daemon, the bad news is that binary firmware is still required (but it is available as a package). The plan is to remove ipw3945-modules-* and ipw3945d packages from the archive as soon as 2.6.24 kernel hits testing. Because of that, everyone running unstable and using ipw3945 is encouraged to switch to using 2.6.24 and iwl3945 driver as soon as possible. The switching instructions are available at http://wiki.debian.org/iwlwifi [...] I really wish this improvement would not be forced on anyone who wants to use the 2.6.24 kernel. In spite of numerous attempts over the last few months I've never managed to get the new system to work. For 2.6.23 I managed to compile my own ipw3945-modules but I can't do that for 2.6.24. So I'm stuck with the older kernels for the foreseeable future. Why can't we have the option to use the older system if we want to? The ipw3945 driver requires closed-source components and has been deprecated by Intel, the only party that has access to the full source code and hardware specifications. The kernel developers, on the other hand, generally don't care very much about breaking proprietary drivers with newer versions of the kernel, especially if there is an alternative available in the normal kernel tree. -- Unfortunately there does not seem to be an alternative for me. I had another go at it last night. I set up things according to the advice on the above site. Everything looked correct according to ip a and /etc/udev/rules.d/z25_persistent-net.rules, but nothing happened: the indicator light never flickered to show the netwerk card was trying to connect. This is what has always happened previously when I've tried to use iwl3945. And I get this message: wlan0: unknown hardware address type 801. I googled for this and found some people on Ubuntu getting the same thing but no obvious clue to what is wrong. Anthony -- Anthony Campbell - [EMAIL PROTECTED] Microsoft-free zone - Using Linux Gnu-Debian http://www.acampbell.org.uk (blog, book reviews, on-line books and sceptical articles) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
On 04 Feb 2008, Peter Jordan wrote: Anthony Campbell, 02/04/08 10:34: On 03 Feb 2008, Florian Kulzer wrote: On Sun, Feb 03, 2008 at 09:03:03 +, Anthony Campbell wrote: [...] [...] The ipw3945 driver requires closed-source components and has been deprecated by Intel, the only party that has access to the full source code and hardware specifications. The kernel developers, on the other hand, generally don't care very much about breaking proprietary drivers with newer versions of the kernel, especially if there is an alternative available in the normal kernel tree. -- Unfortunately there does not seem to be an alternative for me. I had another go at it last night. I set up things according to the advice on the above site. Everything looked correct according to ip a and /etc/udev/rules.d/z25_persistent-net.rules, but nothing happened: the indicator light never flickered to show the netwerk card was trying to connect. This is what has always happened previously when I've tried to use iwl3945. And I get this message: wlan0: unknown hardware address type 801. I googled for this and found some people on Ubuntu getting the same thing but no obvious clue to what is wrong. Anthony The led function will be implemented later. Make sure, dhcp3-client is installed. That solved all my problems with iwl3945. PJ I already have dhcp3-client. I tried again, and no longer get the unknown hardware address type 801 error, which is progress of a sort, I suppose. According to iwconfig and syslog the card has been detected and appears to be working but it is not connecting. And I have wlan0: no wireless extensions. Googling produces plenty of people with fairly similar problems but no obvious solutions. Anthony -- Anthony Campbell - [EMAIL PROTECTED] Microsoft-free zone - Using Linux Gnu-Debian http://www.acampbell.org.uk (blog, book reviews, on-line books and sceptical articles) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
Anthony Campbell, 02/04/08 10:34: On 03 Feb 2008, Florian Kulzer wrote: On Sun, Feb 03, 2008 at 09:03:03 +, Anthony Campbell wrote: [...] [...] The ipw3945 driver requires closed-source components and has been deprecated by Intel, the only party that has access to the full source code and hardware specifications. The kernel developers, on the other hand, generally don't care very much about breaking proprietary drivers with newer versions of the kernel, especially if there is an alternative available in the normal kernel tree. -- Unfortunately there does not seem to be an alternative for me. I had another go at it last night. I set up things according to the advice on the above site. Everything looked correct according to ip a and /etc/udev/rules.d/z25_persistent-net.rules, but nothing happened: the indicator light never flickered to show the netwerk card was trying to connect. This is what has always happened previously when I've tried to use iwl3945. And I get this message: wlan0: unknown hardware address type 801. I googled for this and found some people on Ubuntu getting the same thing but no obvious clue to what is wrong. Anthony The led function will be implemented later. Make sure, dhcp3-client is installed. That solved all my problems with iwl3945. PJ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
On 02 Feb 2008, Jurij Smakov wrote: Hi, If you do not own any hardware with Intel PRO/Wireless 3945ABG wifi cards, you can stop reading now. The 2.6.24 kernel has recently hit unstable, and it contains a new shiny iwl3945 driver which should replace the old ipw3945 one. The good news is that you will no longer need to run the ipw3945d binary daemon, the bad news is that binary firmware is still required (but it is available as a package). The plan is to remove ipw3945-modules-* and ipw3945d packages from the archive as soon as 2.6.24 kernel hits testing. Because of that, everyone running unstable and using ipw3945 is encouraged to switch to using 2.6.24 and iwl3945 driver as soon as possible. The switching instructions are available at http://wiki.debian.org/iwlwifi I've only tested this procedure myself, so feel free to contribute additional information to the wiki page, and reply to this thread if you encounter any problems (cc me in this case, as I'm not on d-u). I really wish this improvement would not be forced on anyone who wants to use the 2.6.24 kernel. In spite of numerous attempts over the last few months I've never managed to get the new system to work. For 2.6.23 I managed to compile my own ipw3945-modules but I can't do that for 2.6.24. So I'm stuck with the older kernels for the foreseeable future. Why can't we have the option to use the older system if we want to? Anthony -- Anthony Campbell - [EMAIL PROTECTED] Microsoft-free zone - Using Linux Gnu-Debian http://www.acampbell.org.uk (blog, book reviews, on-line books and sceptical articles) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
On Sun, Feb 03, 2008 at 09:03:03 +, Anthony Campbell wrote: On 02 Feb 2008, Jurij Smakov wrote: [...] The 2.6.24 kernel has recently hit unstable, and it contains a new shiny iwl3945 driver which should replace the old ipw3945 one. The good news is that you will no longer need to run the ipw3945d binary daemon, the bad news is that binary firmware is still required (but it is available as a package). The plan is to remove ipw3945-modules-* and ipw3945d packages from the archive as soon as 2.6.24 kernel hits testing. Because of that, everyone running unstable and using ipw3945 is encouraged to switch to using 2.6.24 and iwl3945 driver as soon as possible. The switching instructions are available at http://wiki.debian.org/iwlwifi [...] I really wish this improvement would not be forced on anyone who wants to use the 2.6.24 kernel. In spite of numerous attempts over the last few months I've never managed to get the new system to work. For 2.6.23 I managed to compile my own ipw3945-modules but I can't do that for 2.6.24. So I'm stuck with the older kernels for the foreseeable future. Why can't we have the option to use the older system if we want to? The ipw3945 driver requires closed-source components and has been deprecated by Intel, the only party that has access to the full source code and hardware specifications. The kernel developers, on the other hand, generally don't care very much about breaking proprietary drivers with newer versions of the kernel, especially if there is an alternative available in the normal kernel tree. -- Regards,| http://users.icfo.es/Florian.Kulzer Florian | -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
On Sun, Feb 03, 2008 at 03:56:43AM +0100, Александър Л. Димитров wrote: * Once you've brought up wpa_supplicant on your wireless interface, the driver does not know how to go back. If you kill wpa_supplicant (like when you suspend and go somewhere else and want to connect to another WEP AP) - congratulations, your driver is now officially hosed. You will have to: rmmod iwl3945 mac80211 cfg80211 arc4 ecb firmware_class modprobe iwl3945 After this step succeeds, everything seems to be fine again, HOWEVER: * Sometimes this will go wrong. Terribly wrong. Modprobe and pdflush go hand in hand right into the abyss, coming back as CPU-eating undead and unkillable zomies. Yay. Only thing that really helps is hard reset, as working on a 100%-devoured CPU is no fun and my kill-9-voodoo doesn't work on neither of the offenders. I don't use wpa as my other interface at home doesn't support it (stupid windows only crap) and otherwise I am on public networks. But I've seen ilw3945 go terribly wrong. once in my testing modprobe -r iwl3945 brought on a kernel panic and locked the laptop up hard (truly locked). ouch. IOW, welcome to sid... ;) A signature.asc Description: Digital signature
Switching from ipw3945 to iwl3945 driver]
Hi, If you do not own any hardware with Intel PRO/Wireless 3945ABG wifi cards, you can stop reading now. The 2.6.24 kernel has recently hit unstable, and it contains a new shiny iwl3945 driver which should replace the old ipw3945 one. The good news is that you will no longer need to run the ipw3945d binary daemon, the bad news is that binary firmware is still required (but it is available as a package). The plan is to remove ipw3945-modules-* and ipw3945d packages from the archive as soon as 2.6.24 kernel hits testing. Because of that, everyone running unstable and using ipw3945 is encouraged to switch to using 2.6.24 and iwl3945 driver as soon as possible. The switching instructions are available at http://wiki.debian.org/iwlwifi I've only tested this procedure myself, so feel free to contribute additional information to the wiki page, and reply to this thread if you encounter any problems (cc me in this case, as I'm not on d-u). Best regards, -- Jurij Smakov [EMAIL PROTECTED] Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Switching from ipw3945 to iwl3945 driver]
On Sat, Feb 02, 2008 at 10:13:56PM +, Jurij Smakov wrote: Hi, If you do not own any hardware with Intel PRO/Wireless 3945ABG wifi cards, you can stop reading now. The 2.6.24 kernel has recently hit unstable, and it contains a new shiny iwl3945 driver which should replace the old ipw3945 one. The good news is that you will no longer need to run the ipw3945d binary daemon, the bad news is that binary firmware is still required (but it is available as a package). The plan is to remove ipw3945-modules-* and ipw3945d packages from the archive as soon as 2.6.24 kernel hits testing. Because of that, everyone running unstable and using ipw3945 is encouraged to switch to using 2.6.24 and iwl3945 driver as soon as possible. The switching instructions are available at http://wiki.debian.org/iwlwifi I've only tested this procedure myself, so feel free to contribute additional information to the wiki page, and reply to this thread if you encounter any problems (cc me in this case, as I'm not on d-u). I just went through this nightmare yesterday. There are a couple of critical things that people need to know. These are things that I encountered that took a while to figure out because they aren't obvious. Note that I use a customized combination of scripts to configure my wireless for different locations. I don't use any of the whizz-bang gui methods... 1) you cannot iwlist interface scan unless you bring the interface up first. You can bring the interface up without any parameters, do a scan, search the results and then process accordingly. 2) some of the iwconfig settings (particularly mode and maybe others) require the interface to be *down* before you can set them. So in my case where I scan for available access points and then set mode and ssid etc accordingly I have to up the interface, scan, down the interface, set some stuff, up the interface again to set more stuff and then pass it back to ifup to let it finish configuring the interface. It's kind of a pain, but it seems to work. 3) you need to delete previous references to your card from /etc/udev/rules.d/z25_persistent-net.rules file and let it be recreated. 4) it appears that WEP doesn't work for ad-hoc networks :( my .02 A signature.asc Description: Digital signature
Re: Switching from ipw3945 to iwl3945 driver]
Quoth Andrew Sackville-West: On Sat, Feb 02, 2008 at 10:13:56PM +, Jurij Smakov wrote: Hi, I've only tested this procedure myself, so feel free to contribute additional information to the wiki page, and reply to this thread if you encounter any problems (cc me in this case, as I'm not on d-u). 2) some of the iwconfig settings (particularly mode and maybe others) require the interface to be *down* before you can set them. So in my case where I scan for available access points and then set mode and ssid etc accordingly I have to up the interface, scan, down the interface, set some stuff, up the interface again to set more stuff and then pass it back to ifup to let it finish configuring the interface. It's kind of a pain, but it seems to work. Interesting. Maybe this is part of the issue that stands between me and wpa_supplicant being able to connect to WEP - it can't for now and that's extremely annoying. 4) it appears that WEP doesn't work for ad-hoc networks :( Well, as I've said, not only there, but wpa_supplicant seems to have problems, too. Good thing is: WPA at least Works for Me. But there are some caveats I could throw in as well: * Once you've brought up wpa_supplicant on your wireless interface, the driver does not know how to go back. If you kill wpa_supplicant (like when you suspend and go somewhere else and want to connect to another WEP AP) - congratulations, your driver is now officially hosed. You will have to: rmmod iwl3945 mac80211 cfg80211 arc4 ecb firmware_class modprobe iwl3945 After this step succeeds, everything seems to be fine again, HOWEVER: * Sometimes this will go wrong. Terribly wrong. Modprobe and pdflush go hand in hand right into the abyss, coming back as CPU-eating undead and unkillable zomies. Yay. Only thing that really helps is hard reset, as working on a 100%-devoured CPU is no fun and my kill-9-voodoo doesn't work on neither of the offenders. As an aside, I'm not using the Debian stock kernel, but a recently compiled vanilla. So I hope it's not me who's causing the trouble here, though I doubt it. Aleks signature.asc Description: Digital signature